Logo Lanfrica

Niyonkuru2/UmurengeCare-backend

Domain:

digital infrastructure

Record type:

software
Creator:
Niy
Host:
A full-stack Appointment Booking System for Umurenge (Sector) services in Rwanda, enabling citizens to book appointments via USSD and web, while providing sector staff with dashboards, analytics, and digital queue management. # βš™οΈ Umurenge Appointment System – Backend API ## πŸ“Œ Overview This is the backend service for the **Umurenge Appointment Booking System**, built with **NestJS** and **PostgreSQL**. It powers appointment booking via USSD and web platforms, manages sector services, and provides APIs for the admin dashboard. --- ## πŸš€ Features ### πŸ“… Appointment Management * Create and manage appointments * Queue number generation * Appointment status tracking (booked, served, cancelled, missed) ### πŸ“± USSD Integration * USSD flow handling (*123#) * Session management * Service selection and booking via basic phones ### πŸ‘€ User & Staff Management * Role-based access (Admin, Staff, Super Admin) * Staff assignment to services * Availability tracking ### 🧾 Services Management * Sector-based service listing * Service provider assignment * Daily appointment limits ### πŸ”” Notifications * Sector announcements * Staff availability updates ### πŸ’° Monetization * Subscription plans (Free, Basic, Premium) * Payment tracking (Mobile Money / Bank) ### πŸ†˜ Support System * Ticket creation and management * Admin/staff responses --- ## 🧱 Tech Stack * **NestJS** * **Sequelize ORM** * **PostgreSQL** * Class Validator & DTOs --- ## πŸ“ Project Structure ``` src/ β”œβ”€β”€ modules/ β”‚ β”œβ”€β”€ users/ β”‚ β”œβ”€β”€ staff/ β”‚ β”œβ”€β”€ districts/ β”‚ β”œβ”€β”€ sectors/ β”‚ β”œβ”€β”€ services/ β”‚ β”œβ”€β”€ appointments/ β”‚ β”œβ”€β”€ ussd/ β”‚ β”œβ”€β”€ notifications/ β”‚ β”œβ”€β”€ payments/ β”‚ β”œβ”€β”€ subscriptions/ β”‚ └── support/ β”‚ β”œβ”€β”€ config/ β”œβ”€β”€ database/ └── main.ts ``` --- ## πŸ› οΈ Getting Started ### 1. Install Dependencies ```bash npm install ``` --- ### 2. Configure Environment Create `.env` file: ```env DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=your_password DB_NAME=umurenge_db ``` --- ### 3. Run the Server ```bash npm run start:dev ``` Server runs on: ``` localhost ``` --- ## πŸ“‘ API Endpoints (Examples) ``` POST /ussd β†’ Handle USSD requests GET /appointments β†’ List appointments POS …