newsletters

module
v0.0.0-...-66c3b8b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2020 License: GPL-3.0

README

Newsletters

The goal of this project is to build a MVP for a new kind of newsletter system.
The project is structured around 3 parts :

  • the server part which serves newsletters as web pages,
  • the tracker module which records the interaction between a subscriber and a newsletter,
  • the analytics service which reports the interactions of subscribers on a newsletter.

Newsletter Server

The server of this MVP aims at delivering a newsletter as a unique web page, from a simple URL.

Run

First, run the different docker instances

(cd docker && docker-compose up)

Then fill the database, especially with a newsletter sample

go run scripts/database_creator.go

And finally, launch the server on port 8000

go run cmd/server/main.go run 8000 

The newsletter can be read from this link:
http://localhost:8000/first-newsletter/1/Skey/nKey

Third party tools

The server is built with:

  • Go the best language to build a backend service
  • Echo a high performance, extensible, minimalist Go web framework
  • sqlx a library providing a set of extensions on Go's standard database/sql library
  • Viper a library to provide a complete configuration solution for Go applications
  • ksuid a library for generating a specific kind of globally unique identifier
  • Logrus a library providing a structured logger for Go
  • TailwindCss a utility-first CSS framework for rapidly building custom designs
  • MariaDB an open source relational database
  • Docker a tool designed to make it easier to create, deploy, and run applications by using containers

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL