Skip to content

leonardishere/DigitizeBackend

Repository files navigation

Digitize

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.

External links:

Technologies used:

  • Python 3.7
  • AWS API Gateway
  • AWS Lambda
  • AWS DynamoDB
  • AWS CodePipeline
  • AWS CloudFormation
  • WebSockets

Architecture

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.

Architecture

Todo list:

  • 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/
  • Create WebSocket API
  • Add architecture diagram to the README
  • Migrate API to Swagger
  • Test
  • Create API documentation

Future work:

  • More than one classroom/school
  • More detailed attendance analysis
  • Automated attendance grading
  • Connect to SCU Students database
  • Staff login

About

Repository for Digitize's Back End

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published