MintyPlay is a decentralized gaming platform enabling players to earn and own in-game assets as NFTs through blockchain technology. This repository contains both Frontend and Backend codebases, designed for a seamless and immersive gaming experience.
The MintyPlay frontend offers an intuitive interface, enhancing user interaction with the platform.
Ensure you have Node.js and npm/yarn installed. Follow these steps:
-
Clone the repository.
-
Install dependencies:
npm install # or yarn install -
Start the development server:
npm run dev # or yarn dev -
Access the application at http://localhost:3000.
- User Authentication: Secure login and registration.
- Responsive UI: Adapts to various screen sizes.
- NFT Marketplace: Buy, sell, and view NFTs.
- Game Dashboard: Monitor gameplay statistics and achievements.
- Framework: Next.js
- Styling: CSS Modules, Tailwind CSS
- State Management: Redux Toolkit
- API Integration: Axios
- Deployment: Vercel
frontend
โ
โโโ public # Static files
โโโ src
โ โโโ components # Reusable components
โ โโโ pages # Application pages
โ โโโ store # Redux store
โ โโโ styles # Global styles
โ โโโ utils # Utility functions
โโโ package.json # Project metadata and dependencies
The MintyPlay backend manages API services, database operations, and blockchain interactions, providing a robust foundation.
- User Management: Tools for user registration and management.
- Game Management: Upload and monitor games.
- NFT Minting: Create NFTs on the TRON blockchain.
- Developer Dashboard: Analyze game performance.
- API Documentation: Auto-generated via FastAPI.
- Framework: FastAPI (Python)
- Database: MongoDB
- Blockchain: TRON for NFT minting
- Containerization: Docker
- API Documentation: Swagger/OpenAPI via FastAPI
The backend is designed for scalability and maintainability, featuring:
- API Layer: Organized routes by feature.
- Core Logic: Database and blockchain operations.
- Models: Database schema representations.
- Services: Business logic for users and NFTs.
- Schemas: Data validation with Pydantic.
- Utilities: Helper functions for application functionality.
- Docker: Install Docker.
- TRON Wallet: Required for NFT operations.
- Python: Necessary if running without Docker.
-
Ensure Docker is installed.
-
Start the Docker containers:
docker compose up
-
Access the application at:
- Main Application: http://localhost:8000
- Documentation: http://localhost:8000/docs
-
To stop Docker:
docker compose down
backend
โ
โโโ .env # Environment variables for configuration
โโโ .gitignore # Specifies files to ignore in version control
โโโ docker-compose.yml # Docker Compose file for defining and running multi-container Docker applications
โโโ Dockerfile # Instructions for building the Docker image
โโโ README.md # Documentation for the project
โโโ requirements.txt # List of dependencies required for the project
โ
โโโ /app # Main application directory
โ main.py # Entry point of the application
โ
โโโ /api # Contains all API routes
โ โโโ /v1 # API version 1
โ โ v1.py # Main logic for API version 1
โ โ
โ โโโ /endpoints # API endpoints grouped by feature
โ
โโโ /core # Core application logic and utilities
โ
โโโ /exceptions # Custom exceptions for the application
โ
โโโ /models # Data models for the application
โ
โโโ /schemas # Pydantic schemas for data validation
โ
โโโ /services # Business logic and service layer
โ
โโโ /utils # Utility functions for the application
โโโ /helper # Helper functions organized in a separate directory