Skip to content

Auto-generate clean, customizable release notes from GitHub commits, pull requests, and issues using a full-stack Spring Boot + React app.

License

Notifications You must be signed in to change notification settings

kiranraoboinapally/release-notes-gen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 ReleaseNotesGen

Auto-generate clean, customizable release notes from GitHub commits, pull requests, and issues using a full-stack Spring Boot + React app.


📌 Overview

ReleaseNotesGen helps developers, release managers, and teams create structured, readable release notes without manual copy-pasting from GitHub.

🧠 It pulls data directly from public or private GitHub repositories — including commits, issues, and PRs — and formats them into clean Markdown. Custom templates, export options, and label-based mapping are supported.


🎯 Features

✅ Connect to any public GitHub repository
✅ Fetch commits, merged PRs, and closed issues by tag or date range
✅ Clean Markdown generation
✅ Web UI with form-based selection
✅ Export as Markdown or PDF (upcoming)
✅ Save templates and notes (MySQL support)
✅ GitHub OAuth login for private repos (planned)


🛠️ Tech Stack

Layer Technology
Frontend ReactJS + Tailwind CSS
Backend Spring Boot (Java 17)
Database MySQL
APIs Used GitHub REST API v3

📦 Setup & Installation

📋 Prerequisites

  • Java 17+
  • Node.js 18+
  • MySQL 8+
  • Git
  • GitHub Personal Access Token (optional for rate limits/private repos)

🔧 Backend Setup (Spring Boot)

git clone https://github.com/kiranraoboinapally/release-notes-gen.git
cd release-notes-gen/backend
  1. Create a database:

    CREATE DATABASE releasenotes;
  2. Copy config file:

    cp application.properties.example application.properties
  3. Add your GitHub token (optional):

    github.api.token=ghp_yourtoken
  4. Run the backend:

    ./mvnw spring-boot:run

Runs on: http://localhost:8080


🌐 Frontend Setup (React)

cd ../frontend
npm install
npm start

Runs on: http://localhost:3000


🧪 Usage

  1. Open http://localhost:3000
  2. Enter GitHub repo (owner/repo)
  3. Select tag or date range
  4. Click Generate Notes
  5. View the live preview and export

🔐 GitHub Token Setup (Optional)

If you hit API rate limits:

  1. Go to GitHub → Developer Settings → Tokens
  2. Generate a token with:
    • repo scope (for private repos)
    • read:user
  3. Paste the token into application.properties

📁 Project Structure

release-notes-gen/
├── backend/
│   └── src/main/java/com/releasenotesgen/
│       ├── controller/       # REST endpoints
│       ├── service/          # GitHub logic, Markdown generation
│       ├── model/            # POJOs (Repo, Commit, Note, etc.)
│       └── config/
│   └── application.properties.example
├── frontend/
│   └── src/components/       # React components
│   └── App.js
├── database/
│   └── schema.sql
├── README.md
├── .gitignore
└── LICENSE

🛣 Roadmap

  • GitHub public repo integration
  • Export to PDF/Markdown
  • Custom templates with label mapping
  • GitHub OAuth for private repo access
  • GitLab support

💡 Contributing

Pull requests are welcome! Please fork the repo and submit a PR, or open an issue to suggest features.


📄 License

This project is licensed under the MIT License.


📫 Contact

Created by @kiranraoboinapally
For issues or feature requests, use GitHub Issues

About

Auto-generate clean, customizable release notes from GitHub commits, pull requests, and issues using a full-stack Spring Boot + React app.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •  

Languages