Master AWS Developer Associate certification with interactive practice questions, gamified manga onboarding, and spaced repetition flashcards.
๐ Live Demo: dva-trainer-web.onrender.com
DVA Trainer is a comprehensive learning platform designed to help developers prepare for the AWS Developer Associate (DVA-C02) certification exam. Built with modern web technologies and cloud-native architecture principles.
- ๐ 557 Practice Questions - Covering all exam domains with detailed explanations
- ๐ฎ Gamified Learning - Manga-style story onboarding (13 chapters across 2 seasons)
- ๐ Spaced Repetition Flashcards - 30 flashcards with metaphors tied to the story
- ๐ Exam Simulator - 65-question timed assessments (130 minutes)
- ๐ Daily Training Routines - 5/10/15 question daily sessions
- ๐ Secure Authentication - GitHub OAuth 2.0 + JWT implementation
- ๐ฑ Responsive Design - Works on desktop, tablet, and mobile
- โฟ Accessible - WCAG 2.1 AA compliant
User Dashboard with progress tracking |
AWS's glossary |
Manga-style onboarding story |
Spaced repetition flashcards |
src/
โโโ auth/ # OAuth2/JWT authentication
โโโ questions/ # Question management & filtering
โโโ flashcards/ # Spaced repetition system
โโโ onboarding/ # Manga story content
โโโ users/ # User management & progress
โโโ exam-simulator/ # Timed exam sessions
โโโ database/ # TypeORM entities & migrations
โโโ config/ # Environment configuration
Key Backend Features:
- Authentication: OAuth2 with GitHub, JWT token management
- Database: PostgreSQL with TypeORM
- Testing: Jest with 86% code coverage
- API: RESTful with OpenAPI/Swagger documentation
- Security: Helmet, CORS, input validation
src/
โโโ app/
โ โโโ auth/ # Login & authentication flows
โ โโโ dashboard/ # User progress & KPIs
โ โโโ questions/ # Practice question interface
โ โโโ flashcards/ # Flashcard learning system
โ โโโ onboarding/ # Manga story experience
โ โโโ exam-simulator/ # Full exam simulation
โ โโโ shared/ # Components, services, models
โโโ assets/ # Images, manga illustrations
โโโ styles/ # SCSS variables & themes
Key Frontend Features:
- Standalone Components - Modern Angular architecture
- State Management - RxJS for reactive state
- Theming - Dark/Light/Auto mode support
- Performance - Lazy loading, code splitting
- Testing - Karma & Jasmine unit tests
- Node.js 18+
- PostgreSQL 14+
- GitHub OAuth App credentials
# Clone the repository
git clone https://github.com/uouake/dva-trainer-web.git
cd dva-trainer-web
# Backend setup
cd backend
cp .env.example .env
# Edit .env with your database credentials and GitHub OAuth keys
npm install
npm run migration:run
npm run start:dev
# Frontend setup (new terminal)
cd ../frontend
npm install
ng serveBackend (.env):
DATABASE_URL=postgresql://user:password@localhost:5432/dva_trainer
JWT_SECRET=your-secret-key
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
PORT=3000cd backend
npm run test # Unit tests
npm run test:coverage # Coverage report
npm run test:e2e # End-to-end testscd frontend
ng test # Unit tests with Karma
ng test --coverage # Coverage report- Lines of Code: ~25,000
- Test Coverage: 86% (backend)
- API Endpoints: 40+
- Database Tables: 15
- Deployment: Render (Web Service + PostgreSQL)
- Core question database (557 questions)
- OAuth2/JWT authentication
- Exam simulator
- Flashcards system
- Manga onboarding (Seasons 1 & 2)
- Production deployment
- Seasons 3+ of onboarding story
- Competition mode between users
- Achievement badges system
- Progress export functionality
- Email reminder notifications
- OAuth2 Implementation: Deep understanding of authorization code flow with GitHub
- Database Design: Optimized schema for spaced repetition algorithms
- CI/CD: Automated testing and deployment pipelines on Render
- Performance: Lazy loading strategies for large question datasets
- Microservices readiness: Designed with future service extraction in mind
- Multi-tenancy considerations: User isolation and data security patterns
- Scalability: Stateless backend design for horizontal scaling
- JWT tokens with secure httpOnly cookies
- Input validation and sanitization
- SQL injection protection via TypeORM
- XSS protection with Angular's built-in sanitization
- Rate limiting on authentication endpoints
This project is licensed under the MIT License - see the LICENSE file for details.
- AWS certification materials and practice questions
- NestJS and Angular communities
- Render for free hosting tier
- All contributors and beta testers
Built with โค๏ธ by Uriel Ouake



