Competitive programming archive containing my solutions for a wide range of problem sets from platforms such as Codeforces, AtCoder, Kattis, CSES, TLX, UVa, Project Euler, and more.
This repository is both:
- a source archive of solved problems grouped by judge/platform
- a local Django web app for browsing the collection through a cleaner interface
The repository stores solutions grouped by platform, including:
codeforces/EDU codeforces/AtCoder/atcode/kattis/cses/TLX/UVa/Project Euler/CPC/Virtual Contest/
Most solutions are written in C++ and Python, with some additional languages supported by the scanner and web UI.
problem-map/ contains a Django-based local web app called Problem Vault. It scans the repository and turns the solution archive into a searchable, grouped interface.
Main capabilities:
- grouped browsing by platform
- direct links from
Problem IDto the original problem page - raw source file access from the UI
- per-platform pagination
- search and filter modal
- light/dark theme support
- repository-driven metadata generation from local files
.
├── codeforces/
├── EDU codeforces/
├── AtCoder/
├── atcode/
├── kattis/
├── cses/
├── TLX/
├── UVa/
├── Project Euler/
├── CPC/
├── Virtual Contest/
├── problem-map/
└── scripts/
Important paths:
problem-map/Django project for the solution browserproblem-map/scanner.pyrepository scanner and metadata builderproblem-map/templates/vault/index.htmlmain page templateproblem-map/static/vault/app.jsfrontend logicproblem-map/static/vault/styles.cssfrontend styling
Install dependencies:
python3 -m pip install -r problem-map/requirements.txtStart the Django server:
cd problem-map
python3 manage.py runserver 127.0.0.1:3000Then open:
http://127.0.0.1:3000
This repository also includes a static export for GitHub Pages under docs/.
Expected Pages URL (when enabled in repository settings):
https://muhammadakfz.github.io/Algorithm-Adventures/
To regenerate the static site from the latest repository data:
python3 problem-map/export_static.py --output docsThen commit and push the updated docs/ content.
This repo includes a workflow at problem-vault-pages.yml that builds and deploys Problem Vault automatically on push to main.
To use it:
- Open
Settings->Pages - Set Source to
GitHub Actions - Push changes under
problem-map/(or trigger workflow manually)
The app scans files directly from this repository and builds metadata such as:
- platform
- problem ID
- inferred problem title
- language
- category/folder grouping
- last update date
- raw source path
- best-effort external problem URL
The scanner currently recognizes multiple source languages, including:
- C++
- C
- Python
- Java
- JavaScript
- TypeScript
- Go
- Rust
- Kotlin
- Problem links are generated on a best-effort basis per platform.
- The web app is intended for local use and repository exploration.
- Source-of-truth data comes from the actual files in this repo, not from a separate database.