Logo Lanfrica

Niyonkuru2/UmurengeCare-backend

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Niy
Hôte:
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 …