A simple standalone and pluggable system notification library for your Go projects. - A simple way to add system notifications to your Go project.
I started building this because of a project I am working on. I just needed a simple way to display system notifications in the operating system and all the other open source projects I stumbled on were a little too cumbersome for my needs. For a bit I started including this as one of the modules of the project but later on decided to make it a package so I could easily reuse.
- Easy display of system notifications compatible with Linux, Mac & Windows, all available and reusable withen the flow of your program.
- Easy to understand, making the package API easily customizable and extensible to fit your own need.
- End-to-end tested package and can be used in a production enviroment.
A sample notification will need to fufill a few attributes: a title
, a message
and severity
where severity provides how severe or urgent your notification is to be interpreted by the operating system. An example of a notification schema looks like this:
// Notification schema
type Notify struct {
title string
message string
severity Severity
}
- Dockerize the package
- Setup a CI pipeline
- Distribute the package on the go package manager
go get
- Golang v1.20
- Install go for linux/mac/windows
-
Fork repository
-
Clone the forked repository in prefered directory
git clone <project-url>
-
Enter project directory
cd notif
-
Install library dependencies
go mod tidy
-
Build project
go build
-
Run
go run notif.go
if you will like to make a contribution or suggest anything to the project,will be happy to hear from you in issues or PRs section :)