Logo Lanfrica

AWS-AIML-Kenya/edutime

Domain:

education

Record type:

software
Creator:
AWS
Host:
EduTime is a Campus Venue Management Platform for reducing the hassle for Classreps in finding available class venues for lectures. # EduTime - Campus Venue Management System A comprehensive AWS cloud solution for managing campus lecture venues, timetables, and notifications for class representatives and lecturers. ## Architecture Overview EduTime is built on AWS using a serverless architecture that provides scalability, reliability, and cost-effectiveness. The system follows the campus venue management flow: 1. **Check app** - Users access via CloudFront-distributed web/mobile clients 2. **View timetable & venues** - API Gateway routes to Lambda functions reading from RDS PostgreSQL 3. **Check for conflicts/changes** - Venue management Lambda handles conflict detection and updates 4. **Handle conflicts & update timetable** - Database updates managed through Lambda functions 5. **Send notifications** - SNS publishes venue change notifications to subscribed users 6. **Confirm attendance** - Attendance confirmations recorded and notifications sent 7. **Done** - Latest timetable state always available in RDS ## Components ### AWS Infrastructure - **CloudFront**: Global CDN for fast content delivery - **S3**: Static asset storage (web app files, images) - **API Gateway**: REST API endpoints for all operations - **Lambda Functions**: Serverless compute for business logic - Timetable Handler: Read operations for timetables and venues - Venue Management: Create, update, delete operations with conflict checking - Notification Handler: SNS publishing and attendance tracking - **RDS PostgreSQL**: Primary database for all application data - **SNS**: Push notification service for venue changes and alerts - **VPC**: Network isolation with public and private subnets - **IAM**: Security roles and policies for least-privilege access ### Database Schema The PostgreSQL database includes: - **venues**: Campus venue information (capacity, location, facilities) - **timetables**: Class schedules with venue assignments - **attendance_confirmations**: User attendance status tracking - **notifications**: Notifi …