Skip to content
This repository was archived by the owner on Nov 23, 2025. It is now read-only.

Latest commit

ย 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
ย 
ย 
ย 
ย 
ย 
ย 

README.md

TechTorque 2025

Logo

The future of automobile service and appointment management.

Project Status Version Assignment


๐Ÿ Project Evaluation & Completion

This project was evaluated by Mr. Yashod Perera, Lecturer, University of Moratuwa.

  • Evaluator: Mr. Yashod Perera
  • Date: 23rd November 2025
  • Time: 2:00 PM IST (Sri Lankan Time)
  • Outcome: Successfully evaluated and marked as COMPLETED.

All repositories in this organization are now ARCHIVED.


๐ŸŽ‰ Final Status Summary

Final verification completed. All services implemented, tested, and ready for production.

Aspect Status
Architecture โœ… Excellent
Implementation โœ… 100% Complete
Security โœ… Production Ready
Data Consistency โœ… Perfect
Production Ready โœ… YES
Build Status โœ… All Passing
Test Status โœ… All Passing
Documentation โœ… Complete

Achievement Highlights ๐Ÿ†

  1. โœ… All 8 Microservices Complete (Including Notification Service!)
  2. โœ… 113/113 Endpoints Implemented with full business logic
  3. โœ… All Services Compile Successfully (331 source files)
  4. โœ… All Tests Passing (8/8 services - 100%)
  5. โœ… Complete OpenAPI Documentation (Swagger UI for all services)
  6. โœ… Perfect Data Consistency (Fixed UUID strategy across all services)
  7. โœ… Comprehensive Data Seeders (All 8 services)
  8. โœ… Docker Ready (All services containerized)

What's Complete โœ…

  • โœ… Authentication Service: JWT, refresh tokens, email verification, password reset, RBAC (26/26 endpoints)
  • โœ… Vehicle Service: Full CRUD, photo management, service history (10/10 endpoints)
  • โœ… Appointment Service: Booking, scheduling, availability, calendar (15/15 endpoints)
  • โœ… Project/Service Management: Workflow, invoicing, notes, photos (18/18 endpoints)
  • โœ… Time Logging Service: Time tracking, aggregations, statistics (9/9 endpoints)
  • โœ… Payment Service: PayHere integration, invoicing, billing (11/11 endpoints)
  • โœ… Admin Service: User management, analytics, reports (18/18 endpoints)
  • โœ… Notification Service: Email, push notifications, subscriptions (6/6 endpoints) + WebSocket real-time updates (/ws/notifications) (STOMP/SockJS)

Production Readiness

Status: ๐Ÿ COMPLETED & ARCHIVED

Release Date: 2025-11-23

Note: All core microservices are implemented and tested. AI Chatbot is implemented as Agent_Bot.

Build status for the main repositories

Service Build & Push Docker Image
Frontend Web Build and Push Docker Image
Notification_Service Build and Push Docker Image
API Gateway Build and Push Docker Image
Payment Service Build and Push Docker Image
Authentication Build and Push Docker Image
Project Service Build and Push Docker Image
Time Logging Service Build and Push Docker Image
Appointment Service Build and Push Docker Image
Vehicle Service Build and Push Docker Image
Admin Service Build and Push Docker Image
Agent Bot Build and Push Docker Image

Technology Stack

Spring Boot Python Go Next.js TypeScript

PostgreSQL MongoDB Docker K3s

Argo CD GitHub Actions Pinecone


Welcome to the central repository for the TechTorque 2025 project.

This project is a modern, enterprise-grade web application designed to digitize and streamline the operations of an automobile service company.

๐Ÿ›๏ธ System Architecture

Architecture Diagram

The project is built on a polyglot microservices architecture. This design provides scalability, resilience, and technological flexibility, allowing each component to use the best tool for its specific job.

  • ๐Ÿ’ป Frontend Web App: A Next.js and TypeScript application serving both customers and employees.
  • ๐ŸŒ API Gateway: A single entry point written in Go, responsible for routing, authentication (JWT validation), and rate limiting.
  • โš™๏ธ Backend Microservices: A suite of independent Spring Boot services, each with its own dedicated PostgreSQL database, handling specific business domains.
  • ๐Ÿ—„๏ธ Databases: A mix of PostgreSQL for transactional data and MongoDB for semi-structured data like notifications and chat logs.

โš ๏ธ Note: this project deploys to a lightweight Kubernetes distribution โ€” k3s โ€” in development and staging. The k8s-config repository contains manifests compatible with k3s. See KUBERNETES_SETUP.md and ARGOCD_SETUP_SUMMARY.md for details on k3s and ArgoCD setup.

For a complete architectural overview, please see the EAD TechTorque.pdf design document.

๐Ÿš€ Getting Started: The All-in-One Development Environment

The entire TechTorque ecosystem is orchestrated using Docker Compose. This allows any developer to build and run all containers with a single command.

โœ… Prerequisites

โ–ถ๏ธ Running the Full System

  1. Clone this repository.
  2. Navigate to the project root (where this README.md and docker-compose.yml are located).
  3. Run the Docker Compose command:
# To start all services and watch for code changes (recommended for development)
docker-compose watch

or

# To start all services in the background without hot-reloading
docker-compose up --build -d

This command will build, create, and start all containers.

Development notes

  • Use environment overrides in k8s-config and docker-compose.override.yml for local secrets. Avoid committing secrets to the repository.
  • The docker-compose watch task is a development helper; it enables hot reload for code changes in the local environment. If you don't have it, use docker-compose up --build -d.

Accessing the System

  • API Gateway: http://localhost:8080
  • Frontend Application: http://localhost:3000 (after running npm run dev in the Frontend_Web directory)
  • Individual Service Docs: http://localhost:[PORT]/swagger-ui.html (e.g., http://localhost:8081/swagger-ui.html for the Auth Service)

๐Ÿงฉ Repository Structure

Each major component of the system resides in its own top-level directory. Please refer to the README.md file within each directory for specific details about that service.

Service Completion Status

Service Port Endpoints Status
๐Ÿ” Authentication 8081 26/26 (100%) โœ… Complete
๐Ÿš— Vehicle Management 8082 10/10 (100%) โœ… Complete
๐Ÿ“… Appointment 8083 15/15 (100%) โœ… Complete
๐Ÿ”ง Service/Project 8084 18/18 (100%) โœ… Complete
โฑ๏ธ Time Logging 8085 9/9 (100%) โœ… Complete
๐Ÿ’ณ Payment 8086 11/11 (100%) โœ… Complete
๐Ÿ‘ค Admin 8087 18/18 (100%) โœ… Complete
๐Ÿ”” Notification 8088 6/6 (100%) โœ… Complete

โš ๏ธ NOTE: The two items below are "bonus" / optional features and are NOT counted in the main microservices endpoint totals.

Bonus / Planned Features (Not in core counts)

Feature Port Endpoints Status
๐Ÿค– AI Chatbot (Agent_Bot) 8091 4/4 (100%) โœ… Implemented (see Agent_Bot/)

Overall Implementation: 113/113 endpoints fully implemented for the 8 core microservices (100%) โœ…

OpenAPI/Swagger Documentation

All 8 core microservices have complete OpenAPI 3.0 documentation accessible via Swagger UI; additionally, the Agent_Bot (AI) uses FastAPI docs at /docs.

Service Swagger UI URL
Authentication http://localhost:8081/swagger-ui/index.html
Vehicle http://localhost:8082/swagger-ui/index.html
Appointment http://localhost:8083/swagger-ui/index.html
Project/Service http://localhost:8084/swagger-ui/index.html
Time Logging http://localhost:8085/swagger-ui/index.html
Payment http://localhost:8086/swagger-ui/index.html
Admin http://localhost:8087/swagger-ui/index.html
Notification http://localhost:8088/swagger-ui/index.html
Agent_Bot (AI) http://localhost:8091/docs

๐Ÿง‘โ€๐Ÿ’ป Development Team

Name Role GitHub
Randitha (B.H.A.R. Kulasekera) Group Leader / Project Architect / Full Stack Developer / DevOps RandithaK
Suweka Full Stack Developer / Quality Assurance Suweka
Akith Full Stack Developer / Quality Assurance Akith-002
Pramudi Full Stack Developer / Frontend Designer Pramudi02
Aditha Full Stack Developer / AI Chatbot Developer AdithaBuwaneka
Chamodi Full Stack Developer ChamodiSandunika
Dhanuja Full Stack Developer / Project Manager Dhanuja416
Mahesh Full Stack Developer / AI Chatbot Developer TharinduMahesh
Rothila Full Stack Developer / Frontend Designer / Payment Integration Developer mehara-rothila
Dinith Full Stack Developer DinithEdirisinghe

Contribution & PR flow

  • Branching policy: use dev for work in progress and create feature branches named feature/<ticket-number>-short-description.
  • Create a draft PR early for design discussions; add tests for new features and link related issues.
  • CI: tests run on GitHub Actions. Ensure the relevant buildtest.yaml passes locally before opening a PR.
  • Deploys are managed via ArgoCD. Use GITOPS_PIPELINE_COMPLETE.md for promotion steps.


๐Ÿ”ฎ Future Recommendations (Archived)

Note: The project is now completed and archived. The following are recommendations for any future development or forks.

Optional Enhancements

Priority 1: Testing & Monitoring (1 week)

  • Add comprehensive unit tests

  • Integration tests for workflows

  • Set up monitoring & alerting

  • Performance testing

Priority 2: Security Hardening (1 week)

  • Externalize secrets to environment variables

  • HTTPS/TLS configuration

  • Security audit & penetration testing

  • Add rate limiting per user

Priority 3: DevOps & CI/CD (1 week)

  • Set up GitHub Actions CI/CD pipeline

  • Automated deployment scripts

  • Backup & disaster recovery

  • Production environment setup

Long-term Roadmap

Phase 1: Advanced Features (4-6 weeks)

  • WebSocket for real-time updates
  • Advanced analytics dashboard
  • 2FA/MFA support
  • Mobile app backend

Phase 2: AI Integration (6-8 weeks)

  • AI Chatbot service
  • AI Chatbot service (Agent_Bot) โ€” implemented; consider production hardening
  • Natural language appointment booking
  • Predictive maintenance alerts

Note: WebSocket support is a planned/bonus feature and is NOT IMPLEMENTED yet โ€” it is not counted in the main microservices totals. The AI Chatbot is implemented as Agent_Bot and is not counted with the 8 core services. See ENDPOINT_IMPLEMENTATION_REPORT.md and PROJECT_RE_EVALUATION_2025.md for status and timelining.


๐Ÿ“Š Code Quality Metrics

Total Services:              8
Total Source Files:          331
Service Implementation:      16+ files
Lines of Service Code:       4,500+
Average per Service:         280+ lines

Compilation Times

  • Fastest: Notification (1.2s)
  • Slowest: Admin (2.0s)
  • Average: 1.7s per service
  • Total build time: ~13.5s

Top 5 Most Complex Services

  1. AppointmentServiceImpl - 524 lines
  2. BillingServiceImpl - 476 lines
  3. TimeLogService - 401 lines
  4. StandardServiceServiceImpl - 387 lines
  5. AuthService - 356 lines

๏ฟฝ Quick Start

Run All Services

# Clone the repository
git clone https://github.com/TechTorque-2025/TechTorque-2025.git
cd TechTorque-2025

# Start all services with Docker Compose
docker-compose up -d

# Check service health
curl http://localhost:8080/health

Access Services

Test Credentials (Development)

Super Admin:

  • Username: superadmin

  • Password: superadmin123

Admin:

  • Username: admin

  • Password: admin123

Employee:

  • Username: employee1

  • Password: employee123

Customer:

  • Username: customer

  • Password: customer123


๐Ÿ“š Documentation

API Documentation (Swagger/OpenAPI)

All services have interactive API documentation:


ยฉ 2025 TechTorque