Skip to content

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

 
 
 

Contributors