Email-Dashboard / Email-Dashboard

๐Ÿ“ช An interactive emailing management service with scheduling, templating, tracking and A/B testing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Report bug | Request feature | Help issues | ๐Ÿ‡จ๐Ÿ‡ณ[็ฎ€ไฝ“ไธญๆ–‡]


Go Report Card

Email-Dashboard is an easy way to manage your outgoing emails from your apps. From creating and sending your emails to monitoring and managing their stats, you can do really useful things with Email-Dashboard without worried about time zone disaverage. You can ๐Ÿ”—explore Email-Dashboard docs.

๐Ÿ’ข Table of content

๐Ÿšป For whom?

๐ŸŒ If you need to send automatic emails without worried about time zone,
๐Ÿ” If you need to track your emails and analyse your results to follow better strategies,
๐Ÿ“Š If you need to monitoring your activities,
๐Ÿ“‘ If you want to use email templates,
๐Ÿ•ต๏ธ If you need to A/B testing,
๐Ÿ’ฏ And if you want to do all of this easily,

Then you're at the right place. Email Dashboard builded for you! ๐ŸŽ‰

๐Ÿ‘€ Code overview

๐Ÿ”ธ The REST API builded with superfast language ๐Ÿ”—golang.
๐Ÿ”ธ The Dashboard builded with fastest development framework ๐Ÿ”—Rails
๐Ÿ”ธ Front-end framework ๐Ÿ”—uikit using in the dashboard.

โ˜‘ Features

  • Monitor email activities that your service sent.
  • Interactive templates.
  • Multiple SMTP support.
  • Scheduled delivery with time zone.
  • Perform / Cancel scheduled activities optionally.
  • Mobile UI
  • Email tracking.
  • A/B testing.

๐Ÿ”ฑ Deployment

Debian

1- Install Docker

โ–ถ๏ธ Install the most recent version of the Docker Engine for your platform using the ๐Ÿ”—official Docker releases, which can also be installed using:

wget -qO- https://get.docker.com/ | sh

โ–ถ๏ธ Execute this line to allow docker to execute without being root

sudo usermod -aG docker ${USER}

โ–ถ๏ธ Logout, then login again. Permissions should be applied.

2- Install Docker Compose

โ–ถ๏ธ Install Docker Compose from the ๐Ÿ”—official page, or manually run:

curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

3- Create data folders

 mkdir -p /datadrive/mysql && mkdir -p /datadrive/data/redis

4- Clone repo

 git clone https://github.com/Email-Dashboard/Email-Dashboard.git

โ–ถ๏ธ Update environment variables with your variables https://github.com/Email-Dashboard/Email-Dashboard/blob/master/.env

  docker-compose build
  docker-compose up -d

๐Ÿ’ป Development

macOS

Install and start Docker, check ๐Ÿ”— docker-ce-desktop-mac.

โ–ถ๏ธ Create Datafolders

mkdir -p ~/datadrive/ed/mysql && mkdir -p ~/datadrive/ed/redis

โ–ถ๏ธ Clone the repo

git clone https://github.com/Email-Dashboard/Email-Dashboard.git

โ–ถ๏ธ Update mac username in docker-compose-dev.yml in line 7 and line 27

/Users/MacUserName/datadrive/ed/mysql:/var/lib/mysql # update MacUserName with yours

โ–ถ๏ธ Start

docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up

โ–ถ๏ธ Dashboard url: http://localhost:3000
โ–ถ๏ธ Make API requests to http://localhost:8080

Debian

Install and start Docker:

wget -qO- https://get.docker.com/ | sh

โ–ถ๏ธ Execute this line to allow docker to execute without being root

sudo usermod -aG docker ${USER} # Logout, then login again. Permissions should be applied.

โ–ถ๏ธ Create Datafolders

mkdir -p /datadrive/data/mysql && mkdir -p /datadrive/data/redis

โ–ถ๏ธ Clone the repo

git clone https://github.com/Email-Dashboard/Email-Dashboard.git

โ–ถ๏ธ Update line 7 and line 27 in docker-compose-dev.yml to:

-'/datadrive/data/mysql:/var/lib/mysql'
...
- '/datadrive/data/redis:/data'

โ–ถ๏ธ Start

docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up

โ–ถ๏ธ Dashboard url: http://localhost:3000
โ–ถ๏ธ Make API requests to http://localhost:8080

๐Ÿ† Usage

1- In Dashboard

Using dashboard is really easy, like playing PUBG! You can do it any time without any effort. Because our first aim is make some time for our community with our dashboard. So, UI and dashboard is friendly as much as and we will make it better.

๐Ÿ”ธ Add your SMTP Settings
๐Ÿ”ธ Create email template with ๐Ÿ”—handlebars variables.
๐Ÿ”ธ Create notification. See, easy peasy!

2- Posting to REST API

POST https://api.{{yourhost}}/api/v3/notifications/{{notification-slug}}

Authorization: Token {{AccountToken}}

{
   "variables":{
      "button_name": "Click me!",
      "name": "John"
   },
   "email": {
      "to": ["test@example.com", "second-to@example.com"],
      "cc": ["cc-test@example.com"],
      "reply_to": ["reply-to@example.com"],
      "from": "myapp@example.com"
   },
   "delivery": { # optional
     "time": "21:00",
     "date": "2018-09-22",
     "zone": "Europe/Istanbul"
   }
}

For more specified usage you can follow ๐Ÿ”—step by step instructions in docs.

๐Ÿ’ Contributing

Please read our ๐Ÿ”—contribution guidelines. We are grateful for all contributions! ๐Ÿ™ With following our ๐Ÿ”—rules of the discussions, you can contribute many of way. Our ๐Ÿ”—issue tracker is the preferred channel for bug reports, features requests and submitting pull requests. We utilized several ๐Ÿ”—labels to help organize and identify issues. You can start with there! Also if you want to add some new feature:

  1. Clone or fork the project (git clone https://github.com/Email-Dashboard/Email-Dashboard)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

๐Ÿ”Ž But before opening a feature request, please take a moment to find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. So, you can provide as much detail and context as possible.

๐Ÿ“ Authors


Sahin Boydas
Product
LinkedIn

Muhammet
Lead Developer
Github

Sadik
Developer
Github

Tommy Yang
Developer
Github blog

๐ŸŽ“ License

This program is a free and open source software. You can redistribute it and/or modify it under the terms of the license provided in the ๐Ÿ”—LICENSE file. Use of this software is subject to important terms and conditions as set forth in the ๐Ÿ”—LICENSE file.

๐Ÿ” Acknowledgement

If you liked our dashboard, please give us a "Star" โญ. Your support is what keep us moving forward and delivering happiness to you! Thank's a million, you're our Clark Kent/Kara Danvers! In case of any questions or concerns, feel free to contact us anytime. Btw you can see our guilds from our ๐Ÿ”—credit content ๐Ÿ˜Š

About

๐Ÿ“ช An interactive emailing management service with scheduling, templating, tracking and A/B testing.

License:MIT License


Languages

Language:Ruby 46.8%Language:HTML 32.7%Language:Go 14.4%Language:Dockerfile 2.2%Language:JavaScript 2.1%Language:CSS 1.7%