Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohamedaemara/order-management-system
https://github.com/mohamedaemara/order-management-system
nest postgres prisma typescript
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/mohamedaemara/order-management-system
- Owner: MohamedAEmara
- Created: 2024-06-18T11:56:11.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-06-21T20:18:42.000Z (6 months ago)
- Last Synced: 2024-11-14T04:47:42.684Z (about 1 month ago)
- Topics: nest, postgres, prisma, typescript
- Language: TypeScript
- Homepage: https://documenter.getpostman.com/view/29997574/2sA3XWbdQF
- Size: 440 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# Order Management System
## Overview
Order Management System (OMS) is an API that allows users to manage their orders, carts, and products within an e-commerce mobile app. It provides CRUD operations for users, products, orders, and cart management.
[![technologies](https://skillicons.dev/icons?i=nestjs,ts,prisma,postgresql,git,github,postman,docker)](#backend)
## Table of Contents
- [Order Management System](#order-management-system)
- [Overview](#overview)
- [Table of Contents](#table-of-contents)
- [Schema Diagram for DB](#schema-diagram-for-db)
- [Video Demo](#video-demo)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Endpoints](#endpoints)
- [Technology Stack](#technology-stack)
- [Backend](#backend)
- [Documentation](#documentation)
- [Version Control](#version-control)
- [How to Contribute](#how-to-contribute)## Schema Diagram for DB
![schema](docs/schema.png)## Video Demo
https://www.youtube.com/watch?v=dCHf8gvBj6Y
## Getting Started### Prerequisites
Before getting started, ensure you have installed the following:
- Node.js and npm
- PostgreSQL### Installation
1. Clone the repository: `$ git clone [email protected]:MohamedAEmara/Order-Management-System.git`
2. Install dependencies: `$ npm install`
3. Configure environment variables: Create a `.env` file in the root directory.
- Copy `.env.example` content to `.env` file
- Add values for environment variables
```bash
DATABASE_URL="postgresql://username:password@localhost:5432/database_name?schema=public"
SECRET="SOME_SECRET_VALUE"
4. Migrate Prisma schema to the database by running these commands:
```bash
$ npx prisma generate
$ npx prisma migrate dev --name init
## EndpointsYou can check endpoints & documentation on Postman from [here](https://documenter.getpostman.com/view/29997574/2sA3XWbdQF)
## Technology Stack
The **Order Management System** uses the following technologies and tools:
#### Backend
- **NestJS:** A progressive Node.js framework for building efficient, reliable, and scalable server-side applications.
- **PostgreSQL:** A powerful, open-source relational database used for storing users, products, orders, and cart information.
- **Prisma:** A modern database toolkit and ORM for Node.js and TypeScript.
- **Docker:** A platform for developing, shipping, and running applications in isolated containers to ensure consistency across different environments.
#### Documentation- **Postman:** Used for documentation and to provide a collection for API requests.
#### Version Control
- **Git:** A distributed version control system.
- **GitHub:** A web-based platform for version control and collaboration.## How to Contribute
If you'd like to contribute to the project or have suggestions for improvement, please do not hesitate to make pull request.