A fast, efficient, and secure system to create, manage, and publish Release Notes for your apps/products.
🚀 Blazingly Fast APIs written in Go
🔖 Supports Release Notes in multiple formats (Plain Text, Markdown and HTML)
🔒 Fully Secure Backend with JWT Auth Tokens
Shiftlog is available as an API system that can be integrated into an existing server on a different port or deployed as a stand-alone microservice.
-
Go (Golang): Ensure you have Go installed on your system. You can download it from https://golang.org/dl/.
-
SQLite3: Shiftlog requires SQLite3. If not already installed, download it from https://www.sqlite.org/download.html and follow the installation instructions for your platform.
Open your terminal or command prompt and navigate to your desired installation directory. Clone the repository:
git clone https://github.com/coderGtm/Shiftlog.git
- Locate the
demo.env
file in the project directory. - Open
demo.env
and fill in the required environment variables. - Rename
demo.env
to.env
. This step now protects the file via.gitignore
.
Navigate to the project's root directory in your terminal and run:
go mod tidy
Start the application with the following command:
go run .
By default, the application (API) runs on port 8080. You can access it via Postman or curl with the base URL http://localhost:8080. A very bare-bones frontend is provided in the frontend directory which is routed to the base url scheme, i.e. you can access it via http://localhost:8080/signup scheme. It is highly reccomended and maybe necessary that you develop your custom frontend, while taking reference from what is provided. As a side note, it would be great if you can update the frontend in this repo with your improved version.
You can change the port on which the service runs by modifying the PORT
value in your environment config file (.env
).
Users register for an account, providing the necessary authentication credentials.
Once logged in, users can create and manage their applications, defining specific attributes and settings.
Within each application, users can create and manage multiple releases. For each release, they can attach release notes in their preferred format (text, MD, HTML).
Users can easily browse and view release notes associated with their applications. Additionally, they have the option to export notes in their chosen format.
-
Shiftlog streamlines the process of creating, updating, and managing release notes, saving valuable time for developers and product teams.
-
The system accommodates different documentation styles with support for text, md, and HTML formats, catering to a wide range of user preferences.
-
Through intuitive version management, users can easily track the evolution of their applications and associated release notes.
-
The user management feature ensures that only authorized individuals have access, promoting secure collaboration within teams.
Please see documentation.md for a detailed API Documentation of Shiftlog
- Gin - Gin is a web framework written in Go. It features a martini-like API with performance that is up to 40 times faster
- jwt-go - A go implementation of JSON Web Tokens.
- go-sqlite3 - A SQLite3 driver that conforms to the built-in database/SQL interface.
- bluemonday - bluemonday is an HTML sanitizer implemented in Go. It is fast and highly configurable.
- Go Cryptography - This repository holds supplementary Go cryptography libraries.
Contributions are welcome. Please open an issue first and refer to that in your pull request.
You can show your support by becoming a stargazer...
This project is licensed under the MIT License - see the LICENSE file for details