Christine’s Status Report for 2/8

🟢 Progress This Week

Cloud Computing & Central Server Architecture

  • Researched AWS services (API Gateway, S3, SQS, EC2, Lambda, DynamoDB, RDS, SNS) and their interactions.
  • Designed a layered architecture with AWS services for image uploads, ALPR processing, and watchlist queries.
  • Explored SQS for asynchronous processing and caching strategies to handle high loads and avoid bottlenecks.
  • Documented the complete system flow for implementation.

    Web Application Design

  • Finalized the tech stack with Andy:
    • Backend: Node.js with Express.js
    • Frontend: React with Ant Design
    • Storage: DynamoDB (real-time watchlist), RDS (structured match history)
  • Designed core use cases:
    • Authentication (JWT-based login system)
    • Watchlist management (add, remove, view plates)
    • Notification center (email alerts via SNS, UI-based alerts)
  • Designed REST APIs with interfaces

▶️ Next Steps

API Design & Review

  • Design API endpoints for the central server, focusing on data ingestion, ALPR processing, and watchlist matching.
  • Review API endpoints for the web portal based on team feedback and refine where needed. Know issues:
    • Each user should have their own watchlist –> update /watchlist to support look-up by user ID

Database Design

  • Decide between DynamoDB vs RDS for different use cases.
  • Design database schema for central server watchlist storage & web portal authentication.

Use Case Design

  • Finalize Use Case Details
  • Define the full flow for each core use case (authentication, watchlist management, notifications).
  • Add alternative flows to ensure edge cases are accounted for.
  • Send finalized use case flows to Andy for UI design adjustments.

System Architecture Documentation

  • Create a block diagram for the central server.

    🚧 Challenges & Open Questions

  • Potential performance trade-offs in database selection (DynamoDB vs RDS) for different use cases. 
  • EC2 vs Lambda for ALPR layer.