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



