This is an Ecommerce project for managing and selling books online. The project consists of a backend API built with NestJS and a frontend developed using React
- User authentication (sign in, sign up, password reset)
- Browse and search for books
- Add books to cart and checkout
- Admin panel for managing books, users, and orders
- Payment gateway integration (PayOs)
- Review and rating system for books
Before you begin, make sure you have the following installed:
- Node.js (>= 14.x)
- npm (Node Package Manager)
- Navigate to the
Backend
folder:cd Backend
- Install the necessary dependencies:
npm install
- Create a .env file in the root of the Backend directory and configure your environment variables (JWT secret).
- Run the backend server in development mode:
npm run start:dev
The backend should now be running at http://localhost:3000
.
- Navigate to the
Frontend
folder:cd Frontend
- Install the necessary dependencies:
npm install
- Create a .env file in the root of the Frontend directory and configure your environment variables (VITE_BACKEND_API=http://localhost:3000).
- Start the frontend development server:
npm run dev
The frontend should now be running at http://localhost:5173
(or another port depending on your setup).
Once both the frontend and backend are running, you can:
- Sign up and log in to your account
- Add books to your cart and complete the purchase
- Admin can log in to the admin panel to manage users, books, and orders
- Backend: NestJS, TypeORM, MySQL, JWT.
- Frontend: Vite,React, Redux, Axios, AntD, TailwindCss, SCSS/SASS, react-router-dom.
- Other: PayOs,Vercel( for Frontend deploy), Koyeb( for Backend deploy), Aiven( for hosting database).