Skip to content

LibraryBookingSystem/frontend-web

Repository files navigation

Library Booking System - Flutter Frontend

Client for the Library Booking System: library seat and room bookings with live availability, QR check-in, and role-based admin and staff flows. The app uses Aspect-Oriented Programming (AOP) and Service-Oriented Architecture (SOA) on the client side.

📚 Documentation

All detailed documentation is available in the docs/ folder:

🚀 Quick Start

Prerequisites

  • Flutter SDK (>=3.0.0)
  • Backend services running (see Documentation)
  • API Gateway enabled and running on http://localhost:8080 (included in docker-compose)

Backend Setup

  1. Start Backend Services (including API Gateway):

    cd docker-compose
    docker-compose up -d
  2. Verify API Gateway is Running:

    docker-compose ps api-gateway
    curl http://localhost:8080/health
  3. API Configuration:

    • The app is pre-configured to use the API Gateway at http://localhost:8080
    • For Android emulator, update lib/core/config/app_config.dart:
      static const String baseApiUrl = 'http://10.0.2.2:8080';

Run the App

Android:

flutter run -d android

Windows:

flutter run -d windows

Web:

flutter run -d chrome

📖 Key Features

  • Aspect-Oriented Programming (AOP): Cross-cutting concerns via interceptors and mixins
  • Service-Oriented Architecture (SOA): Independent service layer for each backend microservice
  • Real-time Updates: WebSocket-based availability updates with polling fallback
  • Role-Based Access Control: Student, Staff, and Admin roles
  • QR Code Integration: QR code generation and scanning for check-in

🏗️ Architecture

  • AOP: Interceptors for HTTP concerns, mixins for UI/business logic
  • SOA: Independent services for Auth, User, Resource, Booking, Policy, Notification, Analytics
  • API Gateway: Single entry point (http://localhost:8080) routes all requests to microservices
  • State Management: Provider pattern
  • Platform Support: Android, iOS, Web, Windows

📝 For More Information

See the docs/ folder for complete documentation. Start with ARCHITECTURE.md for architecture details or PLATFORM_GUIDE.md for platform setup.


Last Updated: December 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages