Skip to content

DevHiveNestJs is a platform to manage internal resources, secrets, file uploads, and background jobs powered by modern backend and frontend stacks.

License

Notifications You must be signed in to change notification settings

Dev-Tech-Labs/dev-hive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevHive: NestJS API with PostgreSQL & Prisma

Repository Size Last Commit Issues Forks Stars

nestapi

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

NestJS.js NodeJS Fastify PostgreSQL Prisma NPM

✨ Features

🔒 Authentication & Authorization

  • 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

📊 Project Management

  • CRUD operations for projects
  • Project ownership validation
  • Soft delete with restore capability
  • Pagination & filtering support
  • Search functionality

🔑 Resource Management

  • Secure storage of API keys and secrets
  • Resource types validation (API_KEY, SECRET, URL)
  • Project-based resource organization
  • Pagination & search capabilities
  • Archive/restore functionality

📚 API Documentation

  • OpenAPI/Swagger integration
  • Detailed endpoint documentation
  • Request/response schemas
  • Authentication flows documented
  • API versioning support

🧪 Testing & Quality

  • Unit tests with Jest
  • E2E tests with Supertest
  • Test environment configuration
  • CI/CD ready test suites
  • Code coverage reporting

📂 File Management

  • 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

🚀 Queue System

  • Redis-based queue management
  • Background job processing
  • File processing queue
  • Job status monitoring
  • Error handling and retries

🛠️ Tech Stack

Category Technology
Framework NestJS + Fastify
Database PostgreSQL + Prisma
Authentication Keycloak
Documentation OpenAPI/Swagger
Testing Jest + Supertest

📦 Installation

  1. Clone the repository:
git clone https://github.com/JawherKl/dev-hive.git
cd dev-hive
  1. Install dependencies:
npm install
  1. Configure environment variables:
cp .env.example .env
# Update the .env file with your configurations
  1. Start the services:
docker-compose up -d   # Start Keycloak and PostgreSQL
npm run start:dev     # Start the NestJS application

🧪 Running Tests

# Unit tests
npm run test

# E2E tests
npm run test:e2e

# Test coverage
npm run test:cov

📝 API Documentation

Once the application is running, visit:

🗺️ Roadmap

🔹 Phase 2 – Enhanced Features

  • Rate limiting and throttling
  • Advanced audit logging
  • Automated backup system
  • Multi-tenant support
  • API key rotation

🔹 Phase 3 – Integration & Storage

  • MinIO integration for file storage
  • Redis caching layer
  • Background job processing
  • Email notifications
  • Analytics and reporting

🔹 Phase 4 – Frontend & Monitoring

  • Angular admin dashboard
  • Real-time updates
  • Monitoring and alerting
  • Performance optimization
  • Mobile responsiveness

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

👤 Author

Jawher Kallel

🙏 Acknowledgments

  • 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

About

DevHiveNestJs is a platform to manage internal resources, secrets, file uploads, and background jobs powered by modern backend and frontend stacks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published