A full-stack e-commerce web application featuring a responsive, dynamic frontend and a robust backend API.
- Framework: React 19 (via Vite)
- Styling: Tailwind CSS (v4)
- UI Components: Radix UI, Shadcn UI
- Icons: Lucide React
- Fonts: Geist (Fontsource)
- Runtime: Node.js
- Framework: Express.js 5
- Middleware: CORS, dotenv
E-commerce/
├── backend/ # Express.js backend application
│ ├── controllers/ # Route controllers (logic)
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── services/ # Business logic
│ └── server.js # Entry point for the backend
├── frontend/ # React frontend application
│ ├── public/ # Static assets
│ ├── src/ # Source code for React (Components, Pages, etc.)
│ ├── index.html # Entry HTML file
│ └── vite.config.js# Vite configuration
└── README.md # Full project documentation
Make sure you have the following installed on your machine:
To get started with this project locally, clone the repository and install the dependencies for both the frontend and backend applications.
-
Install Frontend Dependencies:
cd frontend npm install -
Install Backend Dependencies:
cd backend npm install
You will need two separate terminal windows/tabs to run the frontend and backend simultaneously.
In your first terminal:
cd backend
npm run devThe backend server will start running on http://localhost:3000. It utilizes nodemon to automatically restart upon file changes.
In your second terminal:
cd frontend
npm run devThe React frontend will start running, typically on http://localhost:5173 (refer to your terminal output for the exact local URL).
The backend exposes the following test endpoints:
GET /- Server status check. ReturnsServer is running 🚀GET /api/test- API connection test. Returns{"message": "API is working ✅"}
Further endpoints (such as those handling products, users, or orders) are structured within the backend/routes and backend/controllers directories.