https://github.com/zeethecyber/ecommerce-nest
A robust backend API for an e-commerce application, built using Nest.js. It features authentication, product management, order processing, and database integration, providing a scalable and efficient solution for modern online stores.
https://github.com/zeethecyber/ecommerce-nest
ecommerce nestjs nestjs-backend postgresql prisma rest-api serversentevents sse
Last synced: 2 months ago
JSON representation
A robust backend API for an e-commerce application, built using Nest.js. It features authentication, product management, order processing, and database integration, providing a scalable and efficient solution for modern online stores.
- Host: GitHub
- URL: https://github.com/zeethecyber/ecommerce-nest
- Owner: zeethecyber
- License: mit
- Created: 2024-11-09T12:50:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-19T12:51:33.000Z (over 1 year ago)
- Last Synced: 2025-02-24T01:11:37.440Z (over 1 year ago)
- Topics: ecommerce, nestjs, nestjs-backend, postgresql, prisma, rest-api, serversentevents, sse
- Language: TypeScript
- Homepage:
- Size: 142 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### Overview
This is the backend for REST APIs of an ecommerce application built with Nest.js. This app includes REST APIs basic ecommerce features. The featuers are written below.
### Features
This app has following features/modules.
- Manage categories
- Manage sub-categories
- Manage Products
- Reviews/Ratings on products from customers
- Manage products wishlist
- Manage user profile
- Manage user cart
- Place orders
- Notifications
- User management (Admin | User)
### Major Dependencies
- Nest.js
- Prisma
- PostgreSQL
### How to Setup
1. First you'll need to install postgreSQL in your local system to setup database.
2. Install dependecies
```plaintext
npm install
```
3. Delete `migrations` folder from `prisma/` for a fresh start. (Optional)
4. Migrate database using prisma. It will prompt you for migration name. You can name it anything. e.g. `initial_migration`
```plaintext
npx prisma migrate dev
```
5. Run the app
```plaintext
npm run start:dev
```
6. Your app will start running on PORT 3000.
### How to setup APIs
Please refer to the provided postman collection in the root folder
### Notification Handling
This project using built-in Server-sent-event system to send server to client events. Use javascript's `EventSource` API to connect with `{{base_url}}/notifications/{{userId}}`. You can find this API in notification folder in postman. The EventSource will return an object with message property containing the notification text.
### Contributions
Contributions are welcome! If you have suggestions or improvements, feel free to open an issue or submit a pull request.