This project began as the SCU COEN 315 - Web Architecture and Protocols final project. Not surprisingly, it was abandoned the day after it was submitted for a grade. It has since turned into an exercise in converting a serverful web app into its serverless equivalent using AWS managed services.
This repository holds the backend of the site.
- Python 3.7
- AWS API Gateway
- AWS Lambda
- AWS DynamoDB
- AWS CodePipeline
- AWS CloudFormation
- WebSockets
Below is a high-level architecture diagram for Digitize. This repository includes the API Gateway, Lambda functions, DynamoDB tables, and the Route 53 DNS entries to access the API. Infrastructure and code are continuously integrated and deployed with CodeStar.
- Create CI/CD Pipeline
- Migrate from EC2 LAMP instance to API Gateway, Lambda, DynamoDB
- Create resources
- Students
- Students Table
- GET
- POST
- GET /cardid/
- GET /studentid/
- Checkins
- POST /checkins/
- Active Checkins
- Active Checkins Table
- GET /checkins/active/
- GET /checkins/active/cardid/
- GET /checkins/active/cardreaderid/
- Inactive Checkins
- Inactive Checkins Table
- Get /checkins/inactive/
- Checkout
- POST /checkout/
- Students
- Create WebSocket API
- Add architecture diagram to the README
- Migrate API to Swagger
- Test
- Create API documentation
- More than one classroom/school
- More detailed attendance analysis
- Automated attendance grading
- Connect to SCU Students database
- Staff login