Skip to content

sheronfdo/DriveStock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 

Repository files navigation

πŸš— DriveStock – Car Parts E-Commerce Platform

DriveStock is a full-featured MERN stack application designed to streamline the buying and selling of car parts. It comprises three main components:

  • Backend API: Handles data management, authentication, and business logic.
  • Admin Panel: Provides administrative functionalities for managing products, orders, and users.
  • Client App: Offers a user-friendly interface for customers to browse and purchase car parts.

🧩 Project Structure

Component Repository Link Description
Backend API Car-Parts-E-Com Express.js server managing core functionalities.
Admin Panel DriveStock-admin React-based dashboard for administrative tasks.
Client App DriveStock-client React + Vite + Tailwind CSS frontend for customers.

βš™οΈ Technologies Used

  • Frontend: React, Vite, Tailwind CSS
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: JWT (JSON Web Token)
  • Deployment: Vercel (backend), Netlify or Vercel (frontend)

πŸ“Έ Screenshots

Client App

Client Home
Product Listing

Admin Panel

Admin Dashboard
Order Management


πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • MongoDB instance (local or cloud-based)

πŸ”§ Backend Setup

git clone https://github.com/sheronfdo/Car-Parts-E-Com.git
cd Car-Parts-E-Com
npm install

Create a .env file in the root directory:

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret

Start the server:

npm start

πŸ› οΈ Admin Panel Setup

git clone https://github.com/rashsvr/DriveStock-admin.git
cd DriveStock-admin
npm install

Create a .env file:

REACT_APP_API_URL=http://localhost:5000

Start the development server:

npm start

🌐 Client App Setup

git clone https://github.com/rashsvr/DriveStock-client.git
cd DriveStock-client
npm install

Create a .env file:

VITE_API_URL=http://localhost:5000

Start the development server:

npm run dev

πŸ§ͺ Features Overview

Client App

  • User registration and authentication
  • Product browsing with search and filter capabilities
  • Shopping cart and checkout process
  • Order history and tracking

Admin Panel

  • Dashboard with sales analytics
  • Product and category management
  • Order processing and status updates
  • User management

Backend API

  • RESTful API endpoints for all functionalities
  • JWT-based authentication and authorization
  • MongoDB integration for data persistence
  • Robust error handling and input validation

Sure! Here's the complete ## πŸ“‚ Folder Structure section, clean and beautifully formatted in Markdown, ready to paste directly into your GitHub README.md:


πŸ“‚ Folder Structure

πŸ“¦ Car-Parts-E-Com/
β”œβ”€β”€ πŸ“ controllers/            # Request handlers (route logic)
β”œβ”€β”€ πŸ“ middleware/             # Express middleware (e.g., auth, role check)
β”œβ”€β”€ πŸ“ models/                 # Mongoose models (MongoDB schemas)
β”œβ”€β”€ πŸ“ routes/                 # Express route definitions
β”œβ”€β”€ πŸ“ uploads/                # Uploaded images and files
β”œβ”€β”€ πŸ“„ index.js                # Entry point of the Express server
β”œβ”€β”€ πŸ“„ package.json            # Project metadata and scripts
β”œβ”€β”€ πŸ“„ package-lock.json       # Lock file for dependencies
β”œβ”€β”€ πŸ“„ vercel.json             # Vercel deployment config
β”œβ”€β”€ πŸ“„ README.md               # Project documentation
└── πŸ“„ .gitignore              # Files to ignore in git

πŸ“¦ DriveStock-admin/
β”œβ”€β”€ πŸ“ node_modules/           # Installed dependencies (auto-generated)
β”œβ”€β”€ πŸ“ public/                 # Public static files (favicon, images)
β”‚   └── admin.svg
β”œβ”€β”€ πŸ“ src/                    # Source code
β”‚   β”œβ”€β”€ πŸ“ assets/             # Images, icons, etc.
β”‚   β”œβ”€β”€ πŸ“ components/         # Reusable components (UI, form, table)
β”‚   β”œβ”€β”€ πŸ“ pages/              # Admin pages (Dashboard, Users, Products)
β”‚   β”œβ”€β”€ πŸ“ services/           # Axios API handlers
β”‚   β”œβ”€β”€ πŸ“ hooks/              # Custom hooks (e.g., data fetching)
β”‚   β”œβ”€β”€ πŸ“ utils/              # Utility functions
β”‚   β”œβ”€β”€ πŸ“ layout/             # Layout wrappers like Sidebar, Navbar
β”‚   β”œβ”€β”€ App.css               # App-wide styles
β”‚   β”œβ”€β”€ App.jsx               # Root component
β”‚   β”œβ”€β”€ main.jsx              # App entry point
β”‚   └── index.css             # Global styles (Tailwind or plain CSS)
β”œβ”€β”€ .gitignore                # Git ignore config
β”œβ”€β”€ index.html                # HTML root template
β”œβ”€β”€ package.json              # Project metadata and scripts
β”œβ”€β”€ package-lock.json         # Dependency lock file
β”œβ”€β”€ postcss.config.js         # PostCSS config
β”œβ”€β”€ tailwind.config.js        # Tailwind config
β”œβ”€β”€ vite.config.js            # Vite config
└── README.md                 # Admin panel documentation

πŸ“¦ DriveStock-client/
β”œβ”€β”€ πŸ“ node_modules/           # Installed dependencies (auto-generated)
β”œβ”€β”€ πŸ“ public/                 # Static public assets (served as-is)
β”‚   └── vite.svg
β”œβ”€β”€ πŸ“ src/                    # Source code
β”‚   β”œβ”€β”€ πŸ“ animations/         # Animation configs/assets (e.g., Lottie files)
β”‚   β”œβ”€β”€ πŸ“ assets/             # Static media like images, fonts
β”‚   β”œβ”€β”€ πŸ“ components/         # Reusable UI components
β”‚   β”œβ”€β”€ πŸ“ context/            # React context providers
β”‚   β”œβ”€β”€ πŸ“ data/               # Mock/static data or constants
β”‚   β”œβ”€β”€ πŸ“ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ πŸ“ pages/              # Route components/pages
β”‚   β”œβ”€β”€ πŸ“ services/           # API service layers or SDKs
β”‚   β”œβ”€β”€ πŸ“ utils/              # Utility/helper functions
β”‚   β”œβ”€β”€ App.css               # Global styles for App
β”‚   β”œβ”€β”€ App.jsx               # Root App component
β”‚   β”œβ”€β”€ index.css             # Tailwind/global styles
β”‚   └── main.jsx              # App entry point
β”œβ”€β”€ .gitignore                # Files/folders to ignore in git
β”œβ”€β”€ eslint.config.js          # ESLint config
β”œβ”€β”€ index.html                # HTML entry (Vite root)
β”œβ”€β”€ package.json              # Project metadata and scripts
β”œβ”€β”€ package-lock.json         # Lock file for exact dependency versions
β”œβ”€β”€ postcss.config.js         # PostCSS config for Tailwind
β”œβ”€β”€ tailwind.config.js        # Tailwind CSS config
β”œβ”€β”€ vite.config.js            # Vite bundler config
└── README.md                 # Project documentation

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m 'Add your feature'
  4. Push to the branch:
    git push origin feature/your-feature-name
  5. Open a pull request detailing your changes.

πŸ“„ License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •