Project Documentation Overview
Distributed Systems Lab Project
Team Members: Ziyi Hong, Danylo Tulainov.
Roles: Frontend developer(Danylo), Backend developer(Ziyi)
GitHub Repository: TodolistProject
All documentation is available in the docs/
folder of the repository.
Cheeck the documentation in github pages https://versyslabtin23.github.io/TodolistProject/
Project Summary
This project implements a distributed, real-time collaborative Todo application using microservices architecture. The system features team-based task management, real-time updates via WebSocket, and event-driven communication using Apache Kafka.
Documentation Structure
Getting Started
- Setup Guide - Quick start and installation instructions
Architecture & Design
Project Reflection
Backend Services
Frontend
Key Features
- Microservices Architecture: Independent services for scalability
- Event-Driven Communication: Kafka-based asynchronous messaging
- Real-time Collaboration: WebSocket-powered live updates
- Team-based Organization: Multi-user task management
- Horizontal Scaling: Load-balanced service deployment
- Containerized Deployment: Docker-based infrastructure
Technology Stack
Backend:
- Go 1.21+ with Gin framework
- MySQL 8.0 (database per service)
- Apache Kafka for event streaming
- JWT authentication
Frontend:
- React 18 with TypeScript
- WebSocket for real-time updates
- Vite build tool
Infrastructure:
- Docker & Docker Compose
- Nginx reverse proxy
- Mailpit for email testing
Quick Links
\newpage