Skip to content
This repository was archived by the owner on Oct 26, 2025. It is now read-only.

ArkadiuszPabian/HackYeah2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT Live Demo

🎮 HackYeah 2025

Note: This repository was archived and is no longer actively developed. The project was created within 24 hours as part of the HackYeah 2025 hackathon and serves as a portfolio project for the team members.

Live Demo: Open

App Demo Slider

ℹ️ Organizers info

Main Hackathon site: hackyeah.pl

Archive Hachathon site (2025 edition): 2025.hackyeah.pl

Event organizer: proidea.pl

👥 Team - GiveMeASecond

This table outlines the core members of the team, their primary role or focus area, and their respective GitHub handles.

Name Role / Focus GitHub Handle
Arkadiusz Pabian Team Leader @ArkadiuszPabian
Paulina Rutkowska UX / Graphic Designer @PaulinaRutkowska3
Pola Palonek Creative person @Polaxxd
Szymon Główka Backend Developer @szymonglowka
Julen Zulaika Frontend Developer @JulenZZZ
Mateusz Łagocki Tester @Mateuszl28

📝 Hackathon task description

Selected task: LifeRun by ZUS

Time to finish the challenge: 24 hours.

Life is a constant sequence of decisions that shape the future – from education and career choices, through lifestyle and relationships, to financial security in old age. In the rush of everyday life, we rarely reflect on the long-term impact of our actions. How do overwork, lack of savings, or neglecting health affect quality of life later on? And on the other hand – how can investing in education, nurturing passions, or maintaining balance between work and family contribute to greater stability and fulfillment in the future? The simulation game Life Run poses a fundamental question: what does a well-planned life really mean? It is not only about finances, but also about health, relationships, and a sense of satisfaction. As part of this challenge, participants will explore these complexities and look for ways to present the consequences of everyday choices in an engaging and accessible way.

💡 MVP description

Product name: Virtual Tomorrow (Wirtualne Jutro).

Virtual Tomorrow is an educational life simulator that teaches strategic financial and career planning. The application visualizes the long-term consequences of decisions, letting players guide a character from youth through to retirement. In a safe, virtual environment, users learn how their choices impact their future well-being and financial security.

🚀 Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Installation & Running

  1. Clone the repository:

    git clone https://github.com/arkadiuszpabian/hackyeah2025.git
    cd hackyeah2025/hackyeahAPI
  2. Create your environment file: Duplicate the .env.example file and rename it to .env. Then, fill in the required environment variables.

    cp .env.example .env
  3. Build and run the Docker containers: The project uses Docker to manage the development environment. Use docker-compose to build and run the services.

    docker-compose up --build

    IMPORTANT! At the start of the server, automatic migration takes place. Make sure you use connection string (in DATABASE_URL environment variable) for fresh database instance!

  4. Access the application: Once the containers are running, you can access the application in your browser at: http://localhost:8000

Environment Variables

The application requires the following environment variables to be set in the .env file. You can copy the .env.example file to create your own .env file.

Variable Description Example Value
DJANGO_SECRET_KEY A secret key for a particular Django installation. It's crucial for security. "django-insecure-your-secret-key"
DEBUG Toggles Django's debug mode. Set to 1 for development to see detailed error pages. 1
DJANGO_ALLOWED_HOSTS A comma-separated list of host/domain names that this Django site can serve. "localhost,127.0.0.1"
DATABASE_URL The connection string for the PostgreSQL database instance. "postgres://user:pass@host:port/db"
DJANGO_LOGLEVEL Sets the logging level for the application. INFO
DJANGO_SUPERUSER_USERNAME The username for the admin account to be created automatically. admin
DJANGO_SUPERUSER_EMAIL The email for the admin account. admin@example.com
DJANGO_SUPERUSER_PASSWORD The password for the admin account. your_secure_password

🛠️ Tech Stack

  • Frontend: HTML / CSS / JS
  • Backend: Python / Django
  • Deployments: Docker
  • Database: PostgreSQL

🧰 Tools used

  • IDE: Visual Studio Code
  • Design Tools: Figma / Canva
  • Version Control: Git

🔌 API Documentation

The application exposes a RESTful API to provide the game's structure and rules.

Method Endpoint Description
GET /api/game-rules/ Retrieves all life stages, including their associated questions, answers, conditions, and impacts.

👨‍💻 Developer guidelines

Commit message format: Conventional Commits

Branching: Feature Branch Workflow

📋 Conventional Commits and Branch Prefixes

Type Branch Prefix Purpose Example Branch
feat feat/ New feature for the application (e.g., user login, data visualization). feat/user-onboarding
fix fix/ Bug fix for existing incorrect behavior. fix/api-auth-header
chore chore/ Maintenance, build config, tooling (ESLint, Prettier, dependencies setup). chore/setup-husky
test test/ Adding new tests or correcting existing tests. test/user-service-logic
docs docs/ Changes to documentation (README, guides). docs/update-readme-team
refactor refactor/ Code change that doesn't fix a bug or add a feature (e.g., reorganizing code). refactor/move-auth-files

📝 Post-Hackathon Reflections & Potential Next Steps

As this project was developed under a 24-hour time constraint and is now archived, we wanted to document our reflections on what we would improve with more time. This section outlines the key steps we would have taken to move this MVP towards a production-ready application.

  • Production-Ready Deployment:

    • Reverse Proxy (Nginx): We would introduce Nginx to manage traffic, serve static files efficiently, and secure the application by hiding the Django admin panel and API from direct public access.
  • API Enhancements:

    • Granular & Versioned Endpoints: Instead of the single /api/game-rules/ endpoint, our next step would be to design a more RESTful API with versioning (e.g., /api/v1/stages/, /api/v1/questions/) to make it more flexible and maintainable.
  • Enhanced Test Coverage:

    • Expand the test suite to include integration and end-to-end tests to ensure the reliability and stability of the application.