Skip to content

datxaban/scalable-web

Repository files navigation

Designing and Building Scalable Web Applications

This project is a comprehensive web-based programming assignment system with the following components:

  • Programming UI and API: Frontend interface and backend service for students to view and submit programming assignments
  • Grader API and Image: Automated code grading system with Docker containerization
  • Database Management: Uses Flyway for database migrations
  • Performance Testing: K6 load testing scripts and documented results
  • DevOps Infrastructure: Docker Compose configurations for development and production environments
  • Reverse Proxy: NGINX configuration for routing requests
  • Caching: Redis implementation for performance optimization
  • End-to-End Testing: Playwright tests ensuring system reliability
  • The architecture follows modern microservices principles with separate containers for each service, secure API communication, and automated grading in isolated environments. The system demonstrates expertise in full-stack development, containerization, testing strategies, and production deployment.

To start all services:

  • docker compose up --build
  • Access the UI at port 7800
  • Please don't use Tor and any adblock extension while browsing. They may block the page.

To run the end-to-end testing:

  • Go to /e2e-playwright/playwright folder
  • Run "npm install"
  • Go to /tests folder
  • Run the test while services are running. For example using UI mode: "npx playwright test --ui-port=8080 --ui-host=0.0.0.0"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published