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.
| 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. |
- Frontend: React, Vite, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Token)
- Deployment: Vercel (backend), Netlify or Vercel (frontend)
- Node.js (v14 or higher)
- npm or yarn
- MongoDB instance (local or cloud-based)
git clone https://github.com/sheronfdo/Car-Parts-E-Com.git
cd Car-Parts-E-Com
npm installCreate a .env file in the root directory:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secretStart the server:
npm startgit clone https://github.com/rashsvr/DriveStock-admin.git
cd DriveStock-admin
npm installCreate a .env file:
REACT_APP_API_URL=http://localhost:5000Start the development server:
npm startgit clone https://github.com/rashsvr/DriveStock-client.git
cd DriveStock-client
npm installCreate a .env file:
VITE_API_URL=http://localhost:5000Start the development server:
npm run dev- User registration and authentication
- Product browsing with search and filter capabilities
- Shopping cart and checkout process
- Order history and tracking
- Dashboard with sales analytics
- Product and category management
- Order processing and status updates
- User management
- 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:
π¦ 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
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name - Commit your changes:
git commit -m 'Add your feature' - Push to the branch:
git push origin feature/your-feature-name - Open a pull request detailing your changes.
This project is licensed under the MIT License.



