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.
All detailed documentation is available in the docs/ folder:
- ARCHITECTURE.md - Complete architecture documentation (MVC + AOP + SOA)
- PLATFORM_GUIDE.md - Complete platform setup, commands, and quick start guide
- AOP_SOA_ARCHITECTURE.md - Detailed AOP and SOA implementation
- SETUP_COMPLETE.md - Setup completion summary
- ANALYSIS_REPORT.md - Code analysis report
- Flutter SDK (>=3.0.0)
- Backend services running (see Documentation)
- API Gateway enabled and running on
http://localhost:8080(included in docker-compose)
-
Start Backend Services (including API Gateway):
cd docker-compose docker-compose up -d -
Verify API Gateway is Running:
docker-compose ps api-gateway curl http://localhost:8080/health
-
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';
- The app is pre-configured to use the API Gateway at
Android:
flutter run -d androidWindows:
flutter run -d windowsWeb:
flutter run -d chrome- 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
- 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
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