Skip to content

VendelaSW/bellikas-retro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bellika's Retro

               CI status

Transforms video game sales data into clear insights, revealing retro titles that resonate with different age groups.
Based on release year, platform, and copies sold, the results are presented through clear and intuitive visualizations.

Structure

    root/
├── src/
│   └── bellikas_retro/
│       ├── data_loader/        # Data downloading and loading logic
│       │   ├── __init__.py
│       │   ├── data_loader.py
│       │   └── downloader.py
│       ├── pages/              # Streamlit pages and visual views
│       │   ├── charts.py
│       │   ├── home.py
│       │   ├── nostalgia.py
│       │   └── top.py
│       ├── static/             # Static assets (images, media, etc.)
│       │   ├── neonsign.png
│       └── utils/              # Shared utilities, configuration, and validation
│           ├── __init__.py
│           ├── config.py
│           ├── helpers.py
│           ├── logger.py
│           └── validations.py
│       ├── __init__.py
│       ├── app_state.py        # Application state management
│       ├── app.py              # Main application entry point
│       ├── cli.py              # Command-line interface
├── tests/                      # Automated tests
│   └── test_app.py
├── pyproject.toml              # Project configuration and dependencies
└── README.md

The project follows a modular and scalable structure, clearly separating data handling, application logic, user interface, and utilities.
This design improves readability, supports collaboration, and makes the codebase easy to maintain and extend as new features are added.

CI/CD

GitHub Actions runs automated tests and build checks on every push and pull request to dev and main.

Pipeline includes:

  • Environment validation (SKIP_DATA_DOWNLOAD=1)
  • Test matrix (Python 3.10–3.13)
  • Package build sanity check

Install

1. Create and activate a virtual environment:

python -m venv .venv
source .venv/bin/activate (POSIX)
source .venv/Scripts/activate (Windows)

2. Install the project:

pip install -e .

Usage

This starts the Streamlit application in your browser.

Run:

bellikas_retro

Run as a module:

python -m bellikas_retro

Uninstall the project:

pip uninstall bellikas_retro

Testing

Run all tests locally:

pytest

Verbose output:

pytest -v

Quiet output:

pytest -q

GitHub

Branch naming

  • feature/ - New functionality
  • fix/ - Bug fixes
  • update/ - Update file
  • test/ - Adding/updating tests
  • docs/ - Documentation only
  • chore/ - Setup, config, maintenance

Credits

Responsibilities:

VendelaSW: Streamlit frontend, UX, charts, validations, deployment

VWiman: Backend, CI/CD, testing infrastructure, integration, Scrum

emmykristina: UI design, CSS, validations, documentation

folixd: Logging system, early testing and code quality practices

kevin3169: Helpers, thresholds, dataloader tests

License

MIT License — see LICENSE

About

Transforms video game sales data into clear insights, revealing retro titles that resonate with different age groups. Based on release year, platform, and copies sold, the results are presented through clear and intuitive visualizations.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages