Skip to content

Arquisoft/yovi_en1a

Repository files navigation

Release Quality Gate Coverage

Outsmart your rivals — or the bot — on a triangular board where every move counts.
Built for the ASW course at Universidad de Oviedo — requested by Micrati.


👥 Team

Name GitHub
👩‍💻 Olga Alonso Grela @uo288066
👩‍💻 Clara Fernández Pérez @megu-hub
👨‍💻 Emre Sen @emresen12
👨‍💻 Donato Giuliano @donatogiuliano
👨‍💻 Marvin Kickel @m8rvin

🏗️ Architecture

yovi_en1a/
├── webapp/       ⚛️  React + Vite + TypeScript frontend
├── users/        🟢  Node.js + Express user service
├── gamey/        🦀  Rust game engine & bot
└── docs/         📐  Arc42 architecture documentation
└── gameyapi/     🎮  API for the GameY bot

✨ Features

Feature Description
🎮 Game Y Triangular board game with bot support via Rust engine
👤 User Registration Register and track players
🤖 Bot Play Play against an AI opponent
📊 Monitoring Prometheus + Grafana dashboards

🚀 Running the Project

🐳 With Docker (recommended)

docker-compose up --build
Service URL
🌐 Web App http://localhost
👤 Users API http://localhost:3000
🦀 Gamey Engine http://localhost:4000
🎮 Game API http://localhost:3001
📈 Prometheus http://localhost:9090
📊 Grafana http://localhost:9091

💻 Without Docker

You'll need Node.js and Rust/Cargo installed.

1. Users Service

cd users && npm install && npm start
# → http://localhost:3000

2. Web App

cd webapp && npm install && npm run dev
# → http://localhost:5173

3. Gamey Engine

cd gamey && cargo run
# → http://localhost:4000

🧪 Scripts

Webapp

Command Description
npm run dev Start dev server
npm test Run unit tests
npm run test:e2e Run end-to-end tests
npm run start:all Start webapp + users together

Users

Command Description
npm start Start the service
npm test Run tests

Gamey (Cargo)

Command Description
cargo build Build the engine
cargo test Run tests
cargo run Run the engine
cargo doc Generate docs

Made with ❤️ at Universidad de Oviedo