Colossus

by vitorfs

GitHub Readme.md

Colossus

Build Status codecov Documentation Status

Self-hosted email marketing solution. Compatible with any SMTP email service.

One-click deploy to Heroku:

Deploy

Screenshots

Colossus new campaign

Colossus campaigns

More Colossus screenshots.

Features

  • Create and manage multiple mailing lists;
  • Import lists from other providers (csv files or paste email addresses);
  • Create reusable email templates;
  • Customize sign up pages (subscribe, unsubscribe, thank you page, etc.);
  • Default double opt-in for sign ups;
  • Schedule email campaign to send on a specific date and time;
  • Track email opens and clicks;
  • Change link URL after email is sent;
  • Reports with geolocation;
  • Compatible with Mailgun, SendGrid, Mandrill, or any other SMTP email service.

Quickstart

If you want to have a quick look or just run the project locally, you can get started by either forking this repository or just cloning it directly:

git clone git@github.com:vitorfs/colossus.git

Ideally, create a virtualenv and install the projects dependencies:

pip install -r requirements/development.txt

Create a local database:

python manage.py migrate

Start development server:

python manage.py runserver

Open your browser and access the setup page to create an admin account:

http://127.0.0.1:8000/setup/

PS: Campaign scheduling will not work out-of-the-box. You need to install a message broker and setup Celery properly.

Tech Specs

  • Python 3.6
  • Django 2.1
  • PostgreSQL 10
  • Celery 4.2
  • RabbitMQ 3.7
  • Bootstrap 4
  • jQuery 3.3

PostgreSQL and RabbitMQ are soft dependencies. Other databases (supported by Django) can easily be used as well as other message broker compatible with Celery.

The jQuery library is more of a Bootstrap dependency. There is very little JavaScript code in the project. For the most part the code base is just plain Django and HTML templates.

Complete list of Python dependencies can be found in the requirements files.

Documentation

This is just a pre-release of the project and I still have to work on a proper documentation and user guides.

For now you will only find documentation of the internal APIs in the source code.

colossus.readthedocs.io

Who's using Colossus?

Right now just myself. I'm currently using it for my blog newsletter at simpleisbetterthancomplex.com.

Here is how my sign up page looks like: sibt.co/newsletter

License

The source code is released under the MIT License.