Add readme.md file

master
Mahdi 2 weeks ago
parent 29f52575c0
commit 8613180c87
  1. 198
      README.md

@ -1,99 +1,151 @@
<p align="center"> # CRUD
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
</p>
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest
<p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
<p align="center">
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
</p>
<!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
[![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
## Description
[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
## Project setup
```bash # Backend API for E-commerce Application
$ npm install
```
## Compile and run the project This is a simple **Backend Service API** for a **E-commerce Application** with various endpoints built using **Nest.js**, **PostgreSQL** & **Sequelize**.
```bash ---
# development
$ npm run start
# watch mode ## Features
$ npm run start:dev
# production mode - Built with **Nest.js**.
$ npm run start:prod - **PostgreSQL** and **Sequelize** for database management.
``` - Implements **JWT Authentication**.
- RESTful APIs for user management:
- Create, Read, Update, and Delete (CRUD) operations.
## Run tests ---
```bash ## Technologies Used
# unit tests
$ npm run test
# e2e tests - **Nest.js**
$ npm run test:e2e - **PostgreSQL** with **Sequelize**
- **JWT** for authentication
- **ARGON2** for password hashing
# test coverage ---
$ npm run test:cov
```
## Deployment ## Installation and Setup
When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. ### Prerequisites
If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: - Node.js and npm installed on your system.
- postgreSQL connection (local or cloud).
### 1. Clone the Repository
```bash ```bash
$ npm install -g mau git clone https://github.com/MahdiTajikKazemi/e-commerce-api-nestjs-postgres-sequelize
$ mau deploy
``` ```
With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. ### 2. Setup Backend
## Resources 1. Install dependencies:
```bash
npm install
```
2. Create a `.env` file in the `backend` directory and configure it:
```env
Set your environment variables in .env.sample file.
```
3. Start the server:
```bash
npm run start:dev
```
Check out a few resources that may come in handy when working with NestJS: ## Usage
- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. 1. Start the backend server.
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). 2. Open your 'Postman' | 'insomnia' or whatever testing api app you are comfortable using and then begin hitting enpoints listed below.
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
## Support ---
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). ## API Endpoints
## Stay in touch ### Authentication
- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) - `POST /api/v1/auth/signup`: Register a new user and get a JWT token.
- Website - [https://nestjs.com](https://nestjs.com/) - `POST /api/v1/auth/login`: Login and get a JWT token.
- Twitter - [@nestframework](https://twitter.com/nestframework)
### User Management
- `GET /api/v1/users/`: Get a list of all users (admin only).
- `POST /api/v1/users/`: Create a user (admin only).
- `PATCH /api/v1/users/:id`: Update a specific user (admin only).
- `DELETE /api/v1/users/:id`: Remove a specific user (admin only).
- `GET /api/v1/users/:id`: Get a specific user (admin only).
---
## Folder Structure
```
└── 📁src
└── 📁core
└── 📁constants
└── index.ts
└── 📁database
└── database.config.ts
└── database.module.ts
└── database.providers.ts
└── 📁interfaces
└── dbConfig.interface.ts
└── 📁modules
└── 📁auth
└── auth.controller.ts
└── auth.module.ts
└── auth.service.ts
└── jwt.strategy.ts
└── local.strategy.ts
└── 📁orders
└── 📁dto
└── create-order.dto.ts
└── index.ts
└── update-order.dto.ts
└── 📁entities
└── order-status.entity.ts
└── order.entity.ts
└── order-statuses.providers.ts
└── orders.controller.ts
└── orders.module.ts
└── orders.providers.ts
└── orders.service.ts
└── 📁products
└── 📁dto
└── create-product.dto.ts
└── index.ts
└── update-product.dto.ts
└── 📁entities
└── product.entity.ts
└── products.controller.ts
└── products.module.ts
└── products.providers.ts
└── products.service.ts
└── 📁users
└── 📁dto
└── create-user.dto.ts
└── index.ts
└── update-user.dto.ts
└── 📁entities
└── user.entity.ts
└── users.controller.ts
└── users.module.ts
└── users.providers.ts
└── users.service.ts
└── app.controller.ts
└── app.module.ts
└── app.service.ts
└── main.ts
```
## Future Enhancements
- Integrate redis for cashing
---
## License ## License
Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE). This project is licensed under the MIT License.
Mahdi Tajik Kazemi

Loading…
Cancel
Save