A robust developer platform for managing internal resources, secrets, and API keys with enterprise-grade authentication.
Built with modern technologies:
NestJS + Fastify • PostgreSQL + Prisma • Keycloak • OpenAPI/Swagger
- Keycloak integration for secure authentication
- JWT-based authorization with role management
- User registration with first/last name validation
- Protected routes with role-based access control
- Token refresh and logout functionality
- CRUD operations for projects
- Project ownership validation
- Soft delete with restore capability
- Pagination & filtering support
- Search functionality
- Secure storage of API keys and secrets
- Resource types validation (API_KEY, SECRET, URL)
- Project-based resource organization
- Pagination & search capabilities
- Archive/restore functionality
- OpenAPI/Swagger integration
- Detailed endpoint documentation
- Request/response schemas
- Authentication flows documented
- API versioning support
- Unit tests with Jest
- E2E tests with Supertest
- Test environment configuration
- CI/CD ready test suites
- Code coverage reporting
- Secure file uploads with MinIO
- User-specific folder organization
- Access control based on ownership
- Pre-signed URLs for secure downloads
- Asynchronous file processing
- File metadata management
- Redis-based queue management
- Background job processing
- File processing queue
- Job status monitoring
- Error handling and retries
Category | Technology |
---|---|
Framework | NestJS + Fastify |
Database | PostgreSQL + Prisma |
Authentication | Keycloak |
Documentation | OpenAPI/Swagger |
Testing | Jest + Supertest |
- Clone the repository:
git clone https://github.com/JawherKl/dev-hive.git
cd dev-hive
- Install dependencies:
npm install
- Configure environment variables:
cp .env.example .env
# Update the .env file with your configurations
- Start the services:
docker-compose up -d # Start Keycloak and PostgreSQL
npm run start:dev # Start the NestJS application
# Unit tests
npm run test
# E2E tests
npm run test:e2e
# Test coverage
npm run test:cov
Once the application is running, visit:
- Swagger UI: http://localhost:3000/api/docs
- API Base URL: http://localhost:3000/api
- Rate limiting and throttling
- Advanced audit logging
- Automated backup system
- Multi-tenant support
- API key rotation
- MinIO integration for file storage
- Redis caching layer
- Background job processing
- Email notifications
- Analytics and reporting
- Angular admin dashboard
- Real-time updates
- Monitoring and alerting
- Performance optimization
- Mobile responsiveness
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Jawher Kallel
- Github: @JawherKl
- Special thanks to all contributors and the open-source community.
- Gratitude to the maintainers of the libraries used in this project.
Made with ❤️ by Jawher Kallel