Ứng dụng web game Pokemon fullstack với .NET 8, React 19, SignalR - Clean Architecture & Modern Tech Stack
⚠️ LEGAL DISCLAIMER / TUYÊN BỐ MIỄN TRỪ TRÁCH NHIỆM[EN] This is a strictly non-commercial, open-source fan project created solely for educational purposes to learn and demonstrate full-stack web development. This project is NOT affiliated with, endorsed, sponsored, or specifically approved by Nintendo, Game Freak, or The Pokémon Company. All Pokémon names, images, characters, and related concepts are registered trademarks and copyrights of their respective owners. No copyright infringement is intended.
[VN] Đây là một dự án cá nhân phi thương mại, được tạo ra hoàn toàn với mục đích giáo dục và rèn luyện kỹ năng lập trình. Dự án này KHÔNG có bất kỳ sự liên kết, tài trợ hay chứng nhận nào từ Nintendo, Game Freak, hay The Pokémon Company. Tất cả hình ảnh, tên gọi, nhân vật và khái niệm liên quan đến Pokémon đều thuộc bản quyền của chủ sở hữu tương ứng. Dự án không có ý định vi phạm bản quyền.
Dự án cá nhân kết hợp đam mê Pokemon và công nghệ web hiện đại. Xây dựng từ đầu với trải nghiệm game Pokemon hoàn chỉnh trên web.
Highlights:
- 🎯 Game Mechanics chân thực (IV, Nature, Shiny, Catch Rate)
- 🔐 Authentication đa dạng (JWT, OAuth2, 2FA)
- 🚀 Real-time với SignalR
- 📊 Clean Architecture & SOLID principles
Trang chủ với giao diện hiện đại, hiển thị Pokemon featured và navigation
Hệ thống bắt Pokemon với animations và real-time feedback
Chi tiết thông tin Pokemon: IV, Nature, moves, abilities
Pokemon evolution interface với điều kiện tiến hóa
User profile với Pokemon collection và stats
Game Mechanics
- Pokemon Catching với công thức chính thống
- IV System (6 stats: 0-31), Nature System (25 types)
- Shiny Pokemon (1/4096), Pokédex tracking
- Stats calculation chính xác
Security
- JWT + OAuth2 (Google, Facebook, Microsoft)
- Two-Factor Authentication (TOTP)
- reCAPTCHA v3, Rate Limiting
- Email verification & password reset
Real-time
- SignalR notifications
- Live Pokemon catch updates
- Event system
Backend: .NET 8 • EF Core • PostgreSQL • SignalR • ASP.NET Identity • JWT
Frontend: React 19 • TypeScript • Vite • TailwindCSS • Radix UI • Axios
DevOps: Docker • Vercel • VPS • Nginx • Supabase
Clean Architecture: Domain → Application → Infrastructure → Presentation
Deployment: Vercel (React) → VPS (Nginx + Docker) → Supabase (PostgreSQL)
✅ Completed: Pokemon catching, IV/Nature, Shiny, Pokédex, Authentication
🔄 In Progress: Battle System, Evolution, Trading, Breeding, Achievements
📋 Planned: PvP, Guild, Chat, Marketplace, Tournaments
💡 Future: PWA, Mobile App, Events, Weather System, Microservices
# Clone & Setup
git clone https://github.com/AnPhuoc2410/Kiremon.git
cd Kiremon
cp env.production.example .env
# Docker
docker-compose -f docker-compose.dev.yml up --build
# Manual: Backend (localhost:7028) + Frontend (localhost:5173)
cd PokedexReactASP.Server && dotnet run
cd pokedexreactasp.client && npm install && npm run devFrontend: Vercel (GitHub auto-deploy)
Backend: VPS + Docker + Nginx + SSL
Database: Supabase PostgreSQL
Chi tiết: DEPLOYMENT.md
Architecture
- Clean Architecture, SOLID principles
- Repository & Service patterns
- Full type safety (TypeScript + C#)
Security
- Multi-layer defense (JWT, 2FA, reCAPTCHA, Rate Limiting)
- OAuth2/OpenID Connect
- HTTPS, CSRF, SQL Injection prevention
Performance
- Caching strategy (In-Memory, Redis-ready)
- Database optimization
- Code splitting, lazy loading
Technical Skills:
- Clean Architecture trong thực tế
- JWT + OAuth2 + 2FA authentication
- EF Core relationships & migrations
- SignalR real-time communication
- React 19 + TypeScript best practices
- Docker containerization & VPS deployment
Challenges & Solutions:
- PokeAPI data complexity → DTOs + caching
- Multi-provider auth → ASP.NET Identity mapping
- SignalR scaling → Connection tracking + Redis ready
- Environment consistency → Docker
Improvements:
- Viết tests từ đầu
- Database design kỹ hơn (migrations rất painful)
- Setup logging & monitoring sớm hơn
- API versioning từ ngày 1
MIT License - see LICENSE
Phuoc An - Fullstack Developer
📧 an.phuoc2410@gmail.com • 🐙 @AnPhuoc2410
⭐ Star this repo if you find it helpful!
Made with ❤️ by Phuoc An