Skip to content

devhoangkien/9plus-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

9Plus API

A scalable microservices-based CMS backend built with NestJS, GraphQL Federation, and event-driven architecture

License: MIT TypeScript NestJS

FeaturesQuick StartDocumentationContributing


📖 Overview

9Plus API is a modular, production-ready CMS backend built with microservices architecture. It features GraphQL Federation, event-driven messaging with Kafka, full-text search with Elasticsearch, and a dynamic plugin system.

✨ Key Features

  • 🏗️ Microservices Architecture - GraphQL Federation for service composition
  • 🔌 Plugin System - Extensible architecture with dynamic plugin loading
  • 🔐 Authentication & Authorization - JWT-based auth with CASL for RBAC
  • 🔍 Full-Text Search - Elasticsearch integration for fast search
  • 📊 Event-Driven - Apache Kafka for asynchronous messaging
  • 📝 Observability - Structured logging and monitoring
  • 🐳 Container-Ready - Docker and Docker Compose support

🚀 Quick Start

Prerequisites

  • Node.js 20+ or Bun 1.0+
  • Docker and Docker Compose
  • Git with submodule support

📦 Quick Setup

git clone --recursive https://github.com/devhoangkien/9plus-api.git cd 9plus-api bun run env:setup bun run install:all docker compose up -d

📖 For detailed setup instructions, see Development Guide


📚 Documentation


🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes and add tests
  4. Run linting: bun run app:lint
  5. Commit with conventional commits: git commit -m 'feat: add new feature'
  6. Push to your fork: git push origin feature/my-feature
  7. Open a Pull Request

Commit Convention

We follow Conventional Commits:

  • feat: - New feature
  • fix: - Bug fix
  • docs: - Documentation changes
  • refactor: - Code refactoring
  • test: - Adding tests
  • chore: - Maintenance tasks

📄 License

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


🙏 Acknowledgments

Built with these amazing open-source technologies:


⭐ If you find this project helpful, please consider giving it a star!

Made with ❤️ by DevHoangKien

⬆ Back to Top

About

9Plus CMS is a CMS backend platform based on microservice and plugin architecture, supporting flexible expansion, SSO integration, realtime search with Elasticsearch, event-driven with Kafka, and centralized logging via ELK stack.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages