Built with ❤︎ by Maganez Filho
- Technologies
- Purpose and Features
- Project description
- Requirements description
- Project Diagram
- Api Routes
- Setup before run
- How to Run
- Found a bug? Missing a specific feature?
- Contributing
- License
This project was made using the follow technologies:
- An API project made with Nest.js (Node.js), Typescript, and PostgreSQL for studies purpose;
- It has the objective of helping the order management of a restaurant;
- Authentication;
- Validation;
- Database integration;
An order management api for restaurants.
In the api, the orders will be registered and within an order there will be products, and each product is related to a category.
The objective is to facilitate the work and organization of the entire flow of a restaurant with its customers.
- user will be able to login to the platform;
- user can create a waiter;
- user can list the waiters;
- user can list 1 waiter;
- user can edit 1 waiter;
- user can remove 1 waiter;
- user can create an order;
- user can list the orders;
- user can list 1 order;
- user can edit 1 order;
- user can remove 1 order;
- the user can create a product;
- the user can list the products;
- user can list 1 product;
- user can edit 1 product;
- user can remove 1 product;
- user can create a category;
- user can list the categories;
- user can list 1 category;
- user can edit 1 category;
- user can remove 1 category;
Method | Route | Has params or body? | Description |
---|---|---|---|
POST | /api/(orders, waiters, products, or categories)/create | HAS BODY | create a new (order, waiter, product or category) |
GET | /api/(orders, waiters, products, or categories) | NO | get all (orders, waiters, products , or categories) |
GET | /api/(orders, waiters, products, or categories)/:id | HAS PARAM (id: string) | get a specific (order, waiter, product or category) by id |
PATCH | /api/(orders, waiters, products, or categories)?id=:id | HAS QUERY PARAM (id: string) | update a specific (order, waiter, product or category) by id |
DELETE | /api/(orders, waiters, products, or categories)/:id | HAS PARAM (id: string ) | remove a specific (user, waiter, product or category) by id |
1. Make sure you have docker installed;
2. Install docker postgres image;
(command: docker pull postgres)
3. Set up your environment variables ('.env' file) based on the '.env.example' file
4. Run your database (passing the password database)
(command: docker run --name postgres -e POSTGRES_PASSWORD=yoursecretpassword -p 5432:5432 -d postgres);
5. Now you can run your server application
# Clone Repository and change directory to project
$ git clone https://github.com/maganezf/manage-orders-api.git && cd manage-orders-api
# Install Dependencies
$ npm install or yarn install
# Run in development mode
$ npm run start or yarn start
# Run in development watch mode
$ npm run start:dev or yarn start:dev
# Run in production mode
$ npm run start:prod or yarn start:prod
Go to http://localhost:3333/api to see the result.
Feel free to file a new issue with a respective title and description on this repository. If you already found a solution to your problem, I would love to review your pull request!
First of all, thank you for being interested in helping out, your time is always appreciated in every way. 💯
Here's some tips:
- Check the issues page for already opened issues (or maybe even closed ones) that might already address your question/bug/feature request.
- Feature requests are welcomed! Provide some details on why it would be helpful for you and others, explain how you're using bull-board and if possible even some screenshots if you are willing to mock something!
Released in 2022.
Made with ❤︎ by Maganez Filho 🚀.
Give a ⭐ if this project helped you!