All source listed below is under MIT license if no LICENSE file stating different is available.

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

.gitignore
changelog.html
client.py
env.py
index.html
main.py
README.md