- NodeJs - ExpressJs
- Database: MongoDB
- ORM: Mongoose
- Validation: Joi
- Authentication & Authoriwation: JsonWebToken
- SMS System: Twilio
Before stating contributing to this project, kindly make sure you master one of the specified tech stacks To get a copy of this project you need:
- Install NodeJs cli in your computer
- At least one code editor installed
- At least one testing tool for the backend Postman is a best example
- Clone this repo
$ git clone https://github.com/pacyL2K19/magoEat-BackendV1.git
- Go to the directory
$ cd magoEat-BackendV1
- Install all the packages
$ npm install
- Generate your
.env
file following the.sample.env
template - Run the project
$ npm run start
At this point the project should run at http://localhost:YOUR_PORT
- Start contribuiting by creating a branch following the
Git Workflow
specifying the feature you need to add to the project ex:feature/add_custom_restaurants_model
- Create a Pull request from your branch to the development branch
- [Optional] Notify the owner to consider your contribution
- [POST] Login: To login in the app
- path:
api/auth/login
- Authorization: No
- body:
{
username: String[Required]
password: String[Required]
}
- [POST] Signup: To create a user account
- path:
api/auth/signup
- Authorization: No
- body:
{
username: String[Required]
password: String[Required]
confirmPassword: String[Required]
phone: Number[Required]
email: String[Required] // email address
avatarUrl: String[Optional]
verified: Boolean[Default]
role: String[Default]
}
- [PUT] Update: Updates users infor
- [GET] Get list of users:
- [GET] Get list of owners:
- Get all the orders:
- Get orders by users:
- Get orders by restaurants:
- Cancel an order:
- update order status:
- Rate an order:
- Get full history of orders by user:
- Get full list of restaurants
- Update Restaurant informations
- Hold a restaurant
- Get restaurant menu
- Delete a restaurant
- Create an item:
- Delete an item
- Put Coupon
|── src/
├── constatnts/
├── status-code.js
├── controllers/
├── category.controller.js
├── order.controller.js
├── repas.controller.js
├── restau.controller.js
├── users.controller.js
├── middlewares/
├── auth.middleware.js
├── models/
├── category.model.js
├── order.model.js
├── repas.model.js
├── users.model.js
├── routes
├── auth.routes.js
├── order,routes.js
├── repas.routes.js
├── restaus.routes.js
├── users.routes.js
├── validators
├── category.validators.js
├── order.validators.js
├── repas.validators.js
├── restau.validators.js
├── users.validators.js
├── app.js
└── index.js
├── screenshots/
├── capst.PNG
├── .gitignore
├── .env (to be recreated)
├── .sample.env
├── package-lock.json
├── package.json
├── eslintrc.json
├── eslintrc.json.
├── README.md
👤 Pacifique Linjanja
- Github: @pacyL2K19
- Twitter: @PacifiqueLinja1
- Linkedin: Pacifique Linjanja
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!
This project is MIT licensed.