Skip to content

mailbadger/app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Report Card GitHub go.mod Go version codecov

Mailbadger Logo

Self hosted newsletter mail system written in go.

Installation instructions

This application consists of an Rest API written in Go and a dashboard application which is written in React. The whole app resides in this single repository.

The application depends on several tools and services:

- go
- MySQL (or sqlite)
- NSQ
- yarn
- statik
- Docker and docker-compose (optional)
  1. statik is used to generate the DB migration assets (sql files)
go get github.com/rakyll/statik
  1. Run make driver=mysql gen to generate the migration assets (run with driver=sqlite3 for testing).

  2. Run make build to build the executable files, the files will be located in the bin folder.

  3. Run MySQL and NSQ services (see the docker-compose.yaml file).

  4. See the .example.env file to see which env variables should be set for the application to run.

Starting the application

  1. Run docker-compose up -d

  2. Run make run_mailbadger

  3. Navigate to /dashboard directory

  4. Run yarn (Install packages for the frontend project)

  5. Run yarn start to start the frontend project