Skip to content

A NestJs server-side application that allow users to upload a file to the server

Notifications You must be signed in to change notification settings

mohamedlotfe/files-uploader-nestjs

Repository files navigation

Description

  • 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 .

The Architecture Design

Nest Logo

The soultion Demo

🔳 you can see the local demo of the service and see the GCP Bucket files Watch the video

Requirements

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

Running the app without docker

# installation 
$ npm install

# watch mode
$ npm run start:dev

Running using docker

# 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

Stay in touch

License

Nest is MIT licensed.

About

A NestJs server-side application that allow users to upload a file to the server

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published