Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yusufborucu/nest-image-uploader-api
Image uploader api with NestJS
https://github.com/yusufborucu/nest-image-uploader-api
Last synced: 17 days ago
JSON representation
Image uploader api with NestJS
- Host: GitHub
- URL: https://github.com/yusufborucu/nest-image-uploader-api
- Owner: yusufborucu
- Created: 2022-08-04T10:35:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-04T12:16:25.000Z (over 2 years ago)
- Last Synced: 2023-03-05T05:59:58.239Z (almost 2 years ago)
- Language: TypeScript
- Homepage:
- Size: 4.09 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nest-image-uploader-api
Image uploader api with NestJS
## Tech Stack
NestJS, MongoDB, Redis, RabbitMQ, Microservice, Docker## Features
- CRUD API
- NoSQL Database with MongoDB Atlas
- Token based authentication with JWT
- Cache with Redis
- Queue with Redis
- Mail Service as Microservice with RabbitMQ
- Storage with Cloudinary
- E2E Tests
- Rate limiter
- Global error handling
- Run with Docker## Installation
- Clone git repository `git clone https://github.com/yusufborucu/nest-image-uploader-api`
- Go to image-uploader-api directory `cd image-uploader-api`
- Copy `.env.example` file and create `.env` file
- Modify the `.env` file in accordance with your database, cloudinary and mail settings.
- Go to mail-service directory `cd mail-service`
- Copy `.env.example` file and create `.env` file
- Modify the `.env` file in accordance with your mail settings.
- Run with Docker `docker-compose up`## Run the e2e tests
- **Important:** It is recommended to use test database when running tests.
- `npm run test:e2e`## Request examples
### Register
![](postman-images/register.png)
### Login
![](postman-images/login.png)
### Forgot Password
![](postman-images/forgot_password.png)
### Reset Password
![](postman-images/reset_password.png)
### Token Test
![](postman-images/token_test.png)
### Create Image
![](postman-images/create_image.png)
### Get Images
![](postman-images/get_images.png)
### Update Image
![](postman-images/update_image.png)
### Delete Image
![](postman-images/delete_image.png)