A robust storage service built with NestJS for handling file uploads and storage management with AWS S3 integration.
- 📁 File storage management
- 🚀 AWS S3 integration for cloud storage
- 📤 File upload handling
- 🔐 Secure file access management
- 📝 Swagger API documentation
- 🔄 GraphQL support
- 📊 Bull queue for background jobs
- 🗄️ Redis caching integration
- Node.js (check
.nvmrcfor version) - pnpm
- Redis (for caching and queues)
- AWS S3 credentials (for cloud storage)
# Install dependencies
pnpm installCopy the example environment file and update it with your configuration:
cp .env.example .envRequired environment variables:
AWS_ACCESS_KEY_ID: AWS access keyAWS_SECRET_ACCESS_KEY: AWS secret keyAWS_REGION: AWS regionAWS_BUCKET: S3 bucket nameREDIS_URL: Redis connection URL
# Start development server
pnpm dev
# Run tests
pnpm test
# Run e2e tests
pnpm test:e2e
# Generate API documentation
pnpm compodoc# Build the application
pnpm build
# Start production server
pnpm start:prodBuild and run the service using Docker:
# Build Docker image
docker build -t nestjs-storage-service .
# Run container
docker-compose up -d- Swagger UI:
http://localhost:3000/api/docs - Compodoc:
http://localhost:8080(after runningpnpm compodoc)
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- npv2k1
For support, please open an issue in the GitHub repository.