Project Summary
This is the comprehensive overview of the Tower Defense project.
Core Objective
The Tower Defense project is a modern, full-stack game platform designed with a focus on robust authentication, secure account management, and an interactive gaming experience.
Key Projects
- Game Frontend (
apps/game): An Angular-based application providing the primary user interface and game logic. - Backend API (
apps/api): A NestJS-powered server handling business logic, authentication, and data persistence. - Database (
libs/api/db): A MySQL database managed with Drizzle ORM, ensuring type-safety and efficient migrations.
Technical Architecture
- Monorepo: Managed with Nx for consistent development workflows.
- Authentication: Better Auth v1 integration with custom secure account change flows.
- Communication: RESTful API with dedicated profile and account management endpoints.
- Persistence: MySQL + Drizzle ORM.
- Mailing: Nodemailer with local
smtp4devintegration for reliable transactional emails.
Quick References
- Frontend URL (Dev):
http://localhost:4200 - Backend API URL (Dev):
http://localhost:3000 - Local Mail Sink:
http://localhost:63384 - Documentation: Full Documentation Site
Design Philosophy
The project prioritizes security and user data integrity, especially during sensitive account actions like email and password changes. All major architecture decisions are documented in the respective sections of this site.