Skip to content

SebaB29/CasinoFIUBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🎰 CasinoFIUBA

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.

πŸ“ Table of Contents


πŸ“ Description

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).

🧩 Key Features

  • 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.

πŸ—οΈ System Architecture

.
β”œβ”€β”€ 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

πŸ› οΈ Technologies

  • Language: Go (Golang)
  • Database: PostgreSQL
  • DevOps: Docker & Docker Compose
  • Scripting: Shell Script (sh)

πŸš€ Getting Started

πŸ“‹ Prerequisites

Ensure you have the following installed:

  • Docker
  • Docker Compose

βš™οΈ Setup & Execution

  1. Clone the repository:

    git clone git@github.com:SebaB29/CasinoFIUBA.git
    cd CasinoFIUBA
  2. Configure environment variables:

    cp .env.example .env

    ⚠️ Note: Open .env and fill in the required database credentials.

  3. Launch the environment:

    sh start.sh

    This script will build the Go binary and spin up the PostgreSQL container.

  4. Shutdown: To stop the services, simply press Ctrl+C or run docker-compose down.

🌐 Important URLs

Service URL
Backend API http://localhost:8080
PostgreSQL localhost:5432 (Internal access)

🀝 Contributing

  1. Fork the project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

πŸ‘₯ Team

Nombre GitHub
SebastiΓ‘n Brizuela @SebaB29
Mauri Laganga @Mauri-laganga

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

πŸš€ Where luck meets high-performance engineering. A Go-powered casino backend featuring atomic transactions, containerized environments, and a variety of betting mini-games.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors