A web-based gaming platform featuring room creation, AI opponents, and global competition.
- Overview
- Technologies
- Project Structure
- Features
- Installation
- Running the Application
- User Interface
- Contributing
This project is a web-based gaming platform that allows users to create custom game rooms, play against AI, and compete with players from around the world.
- React.js
- Bootstrap
- SCSS/SASS
- JavaScript
- Spring Boot
- Java 17
- MySQL
- RESTful API
PBL4/
├── PBL4_FE/ # Frontend application
│ ├── public/ # Public assets
│ └── src/ # Source code
│ ├── assets/ # Static assets
│ ├── components/ # React components
│ └── ...
└── PBL4_BE/ # Backend application
├── src/ # Source code
└── pom.xml # Maven dependencies
- Create Custom Rooms: Create game rooms and invite friends for friendly matches
- AI Opponents: Test your skills against various difficulty levels of AI players
- Global Competition: Join matches with players from around the world
- Multi-language Support: Available in English and Vietnamese
- Responsive Design: Play on any device with a consistent experience
-
Navigate to the frontend directory:
cd PBL4_FE -
Install dependencies:
npm install -
Create a
.envfile for environment variables (if needed)
-
Navigate to the backend directory:
cd PBL4_BE -
Make sure you have Java 17 installed:
java --version -
Configure your database in
application.propertiesfile -
Install Maven dependencies:
./mvnw clean install
cd PBL4_FE
npm start
The application will start on http://localhost:3000
cd PBL4_BE
./mvnw spring-boot:run
The API server will run on http://localhost:8080
The live version of the application is available at: https://caroarena.netlify.app/
You can visit the website to explore the following interfaces:
The home page showcases the main features of the platform, including room creation, AI gameplay options, and global competition information. It provides an intuitive entry point for users with language selection options.
The game room interface offers a clean, interactive gaming experience with real-time updates, chat functionality, and game controls optimized for different devices.
The user profile page displays player statistics, match history, and customization options, allowing players to track their progress and personalize their experience.
The match history section provides players with a detailed record of their previous games, including opponents, game outcomes, timestamps, and performance metrics. This allows users to review their gameplay patterns and track improvement over time.
- Fork the repository
- Create a feature branch:
git checkout -b new-feature - Commit your changes:
git commit -am 'Add new feature' - Push the branch:
git push origin new-feature - Submit a pull request