SudoSumo Infrastructure Technical Specifications

Sudosumo architecture diagram

Sudosumo architecture diagram

  1. 1. Frontend

    Explore Frontend Repo
    • Framework: Next.js (React.js-based with TypeScript).
    • Conception: Figma.
    • Styling: TailwindCSS.
    • Rendering Strategy: Server-Side Rendering (SSR) for improved security, efficient caching, and optimized SEO.
    • Authentication: OAuth2 via Auth.js with Google as the provider.
    • Deployment: Deployed using a serverless provider Netlify for automatic scaling and cost efficiency.
    • Security: TLS configuration for secure communication between frontend and backend.
  2. 2. Backend

    Explore Backend Repo
    • Technology: Java Spring Boot (REST API).
    • Architecture
      • Domain-Driven Design (DDD) for improved modularity, separation of concerns, and ease of maintenance.
      • Build with Jakarta EE for enterprise-level scalability and robustness.
    • Security: OAuth2 with Google as the identity provider; uses JWT tokens for secure session management.
    • Database Interaction: REST API for frontend communication; additional cron jobs scheduled for periodic database updates.
    • Hosting: Hosted on an AWS EC2 instance using Docker container to add isolation and consistency across environnements and isolation, ensuring dedicated resources for backend operations.
    • Load Balancer: AWS Elastic Load Balancer (ELB) to distribute traffic across multiple backend instances for high availability, serving as the front interface to the internet.
    • TLS Configuration: For secure HTTP communication between frontend and backend.
    • Data Update Mechanism: Scheduled cron jobs to reset each user's life to 5 at midnight, ensuring daily updates to the database.
  3. 3. Database

    • Database Technology: PostgreSQL.
    • Management: Hosted on an AWS RDS instance.
  4. 4. Infrastructure Components

    • Load Balancer: Implemented to ensure high availability by distributing traffic evenly across backend instances through different subnets.
    • DNS Configuration: Use of subdomains api.louisplace.com and sudosumo.louisplace.com for professional, branded URL management.
    • Security Strategies:
      • TLS for secure communication.
      • OAuth2 for authentication with Google.
      • AWS security group ensure that no instance is unnecessarily exposed to the internet by properly configuring security group rules.