A robust university project simulating a casino betting platform. This system features a variety of games like Roulette, Plinko, and Minesweeper, all powered by a high-performance backend. It showcases modern development practices including containerization and relational database management.
CasinoFIUBA is a backend-focused application designed to handle betting logic, user balances, and game results securely and efficiently. By using Go, the project ensures high concurrency, while PostgreSQL provides data integrity for financial transactions (bets and wins).
- Game Variety: Implementation of classic casino games (Roulette, Plinko, Mines).
- Relational Storage: Persistent management of users and game history.
- Environment Isolation: Fully dockerized setup for easy deployment and consistent development environments.
- Backend API: Built with Go for optimal performance and type safety.
.
βββ backend/ # Go source code (API, Logic, DB connection)
βββ test/ # Automated and manual test suites
βββ .env.example # Example environment variables
βββ docker-compose.yml # Docker orchestration
βββ start.sh # Automation script for environment setup
- Language: Go (Golang)
- Database: PostgreSQL
- DevOps: Docker & Docker Compose
- Scripting: Shell Script (sh)
Ensure you have the following installed:
- Docker
- Docker Compose
-
Clone the repository:
git clone git@github.com:SebaB29/CasinoFIUBA.git cd CasinoFIUBA -
Configure environment variables:
cp .env.example .env
β οΈ Note: Open .env and fill in the required database credentials. -
Launch the environment:
sh start.sh
This script will build the Go binary and spin up the PostgreSQL container.
-
Shutdown: To stop the services, simply press
Ctrl+Cor rundocker-compose down.
| Service | URL |
|---|---|
| Backend API | http://localhost:8080 |
| PostgreSQL | localhost:5432 (Internal access) |
- Fork the project.
- Create your Feature Branch (git checkout -b feature/AmazingFeature).
- Commit your changes (git commit -m 'Add some AmazingFeature').
- Push to the Branch (git push origin feature/AmazingFeature).
- Open a Pull Request.
| Nombre | GitHub |
|---|---|
| SebastiΓ‘n Brizuela | @SebaB29 |
| Mauri Laganga | @Mauri-laganga |
This project is licensed under the MIT License - see the LICENSE file for details.