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
.nvmrc
for version) - pnpm
- Redis (for caching and queues)
- AWS S3 credentials (for cloud storage)
# Install dependencies
pnpm install
Copy the example environment file and update it with your configuration:
cp .env.example .env
Required 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:prod
Build 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.