# Zhurnal - Changelog Generator ## Overview Zhurnal is a web application designed to generate and manage changelogs for Git repositories. It supports both public and self-hosted platforms like Gitea and GitLab, including authenticated repositories using URL credentials. ## Features - Generate changelogs from repository URLs (http://, https://). - Supports authenticated repositories (e.g., `https://user:pass@domain/repo`). - Updates existing repositories and tracks new commits. - Real-time progress updates via WebSocket. - Download changelogs in JSON or Markdown formats. - Night/day theme toggle. - Mobile and desktop compatible (min 320px width). - Hourly automatic repository updates. - Log rotation and system log access. ## Installation 1. Clone the repository: ``` git clone https://retoor.molodetz.nl/retoor/zhurnalweb cd zhurnalweb ``` 2. Install dependencies (ensure Python and FastAPI are installed). 3. Run the application: ``` python main.py ``` ## Usage 1. Open `http://localhost:8000` in your browser. 2. Enter a repository URL in the input field. 3. View real-time updates and access the generated changelog. ## Configuration - Repositories are stored in `/repos/[hash-of-url]/`. - Database: `zhurnal.db` using AsyncDataSet. - Logs: `logs/app.log` with rotation (app.log.1 to app.log.5). ## Development - Backend: `main.py` (FastAPI, AsyncDataSet). - Frontend: `index.html` (self-contained). - Changelog Template: `changelog.html`. ## License MIT License