- A NestJs server-side application that allow users to upload a file to the server,
- the users should be able to share a URL of uploaded file,
- however this URL should expire after a variable duration,
- the application should validate the file type and should only accept the following: (▪ PDF ▪ PNG ▪ JPG)
- The application containerized with proper docker file .
🔳 you can see the local demo of the service and see the GCP Bucket files
Done? | Requirement |
---|---|
✅ | Create base project |
✅ | Add module for media (uploading/downloading) |
✅ | Add controller, routes for file uploading |
✅ | Add config module + .env file |
✅ | Create GCP project + create storage bucket |
✅ | Use GCP credentials + add GCP Module |
✅ | Add saving and retrieving functionality from GCP |
✅ | Add cache Interceptor to route |
✅ | Add Authentication (JwtStrategy => PassportStrategy) |
✅ | Apply Authentication Guards |
✅ | Create docker file |
✅ | Attach Postman collection here |
⬜️ | add swagger documentation |
# installation
$ npm install
# watch mode
$ npm run start:dev
# build an image
$ docker build files-uploader-nest -t molotfy/files-uploader-nest
# check ur image is created & exist
$ docker images
# Run
$ docker run -p 8080:3000 molotfy/files-uploader-nest
- Author - Mohamed Lotfy
Nest is MIT licensed.