This project is a modular, scalable, and AI-powered backend built with NestJS, PostgreSQL, and TypeORM. It powers an interactive challenge platform with features such as authentication, AI-driven recommendations, smart contract interactions, and real-time challenge modes.
- Backend Framework: NestJS (TypeScript)
- Database: PostgreSQL (via TypeORM)
- Authentication: Wallet, Email, Google OAuth
- Blockchain: StarkNet smart contract interactions
- AI Integration: Challenge generation & solution explanations
- Caching & Performance: Redis (for caching)
- Security & Error Handling: Robust security mechanisms and centralized error handling
- Wallet authentication
- Email/password authentication
- Google OAuth integration
- IQ survey-based challenge recommendations
- AI-generated challenges
- AI-assisted solution explanations
- Interaction with StarkNet smart contracts
- Token rewards system for challenge completion
- Tracks user challenge progress
- Global & friend-based leaderboard system
- Live multiplayer challenge mode (WebSockets)
- Advanced caching strategies (Redis)
- Centralized error handling
- Security best practices implemented
backend/
│── src/
│ ├── auth/ # Authentication module
│── providers/
│ ├── common/ # Shared utilities & helpers
│ ├── config/ # Environment variables & configs
│ ├── main.ts # Application entry point
│── test/ # Unit & integration tests
│── .env # Environment variables
│── nest-cli.json # NestJS configuration
│── package.json # Dependencies & scripts
Ensure you have the following installed:
- Node.js (v18+)
- PostgreSQL
API documentation will be available via Swagger at:
http://localhost:3000/api
- Follows NestJS best practices for security & scalability
- Uses JWT-based authentication for secure access
- Implements role-based access control (RBAC)
- Logs and monitors API requests for security insights
This project is licensed under the MIT License.
For inquiries, feel free to reach out at aminubabafatima8@example.com or amalikabdulmalik04@gmail.com
- GitHub: github.com/MindBlockLabs
- https://t.me/+kjacdy68yfwwNTVk