Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(image-microservice): Add authentication microservice #32

Open
wants to merge 1 commit into
base: development
Choose a base branch
from

Conversation

ClaudiaQueipo
Copy link

Image Storage Microservice Features Report

Project Description

This project implements a basic CRUD microservice for uploading, storing, and retrieving images using NestJS. Images are stored externally in Firebase Storage, and the endpoints support file uploading, retrieval, and validation.

Main Features

Image Upload

Type and Size Validation: Uploaded images are validated to ensure they meet the allowed types (jpg, jpeg, png) and do not exceed the maximum size limit of 5 MB.
Endpoint: POST /images
Related Code: ImagesController.uploadImage

Storage in Firebase Storage

Firebase Initialization: Configuration of Firebase using credentials obtained from environment variables.
Related Code: ImagesService.initializeFirebase

Image Retrieval

Retrieval via Public URLs: Images stored in Firebase Storage can be retrieved using signed URLs.
Endpoint: GET /images/:id
Related Code: ImagesService.getImage

Security with JWT Authentication

Endpoint Protection: The endpoints are protected by JWT authentication to ensure that only authenticated users can access them.
Related Code: ImagesController

Additional Features (Optional)

Thumbnail Generation
Image Resizing: Generation of thumbnails for uploaded images using the sharp library.
Related Code: ImagesService.uploadImage

Audit Logs

Activity Logging: Recording who uploaded which file and when, using a logging service.
Related Code: ImagesController.uploadImage

Integration with Redis

URL Caching: Performance improvement through caching image URLs in Redis.
Related Code: ImagesController.uploadImage

Contact

Email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant