• Stars
    star
    230
  • Rank 174,053 (Top 4 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Mailgun powered landing page to capture early sign ups

screenshot

node-prelaunch

A prelaunch sign up app, written in node.js, powered by MongoDB & Mailgun.

Live Demo: node-prelaunch.herokuapp.com

Deploy

Responsive transactional HTML email templates from mailgun/transactional-email-templates

Icon from sketchappsources.com.

System Requirements

Getting Started

First update /server/config/secrets.js with the following credentials:

  • Mailgun for sending sign up confirmations and validating email addresses
  • google analytics id

Install dependencies:

npm install

Make sure mongodb is running (mongod) then start the node server

node server

Prelaunch Sign Up Flow

  • A user signs up on the site
  • a confirmation email is sent - image
  • the user receives the email and clicks the confirmation link
  • the user is redirected to the site with a unique token and confirmation id
  • if the token and id are valid, the user model is updated and a thank you email is sent - image

Sending Post Launch Emails

Need to send an update? An example of querying confirmed users and sending emails in batches can be found in server/email/batch-demo.js. This uses Mailgun's batch sending feature.

To send the following campaign update template, run the following command. PLEAE NOTE: there is no dry run version of this yet, this command will send out emails to any confirmed users in your user collection.

node server/email/batch-demo.js

The campaign update email uses the email alert template

image

Contributing

If you're interested in contributing, please refer to the following project goals before submitting a pr or github issue.

Project Goals

  • keep this as a starting point people can fork, redeploy, and persist their database while their app is built out
  • make it easy to send email & track changes in email templates since they are checked into codebase
  • be responsible for user data in database (not in some third party service), this also includes
    • tracking sign up dates
    • securing confirmations
    • keeping track of confirmations
  • use transactional email provider - ex: Mailgun
  • avoid creating something that can spam people and ruin email sending reputation for the owner
  • use double opt in
  • sending batch emails (max 1000 at a time) - ex: Mailgun
  • post launch sending capabilities and integration (ex: send password reset codes when app is launched)

Todo

  • add flag to batch command for sending in testmode
  • use tags to track transactional emails (signups vs commercial vs password resets)

More Repositories

1

transactional-email-templates

Responsive transactional HTML email templates
HTML
6,820
star
2

godebug

DEPRECATED! https://github.com/derekparker/delve
Go
2,507
star
3

flanker

Python email address and Mime parsing library
Python
1,633
star
4

talon

Python
1,235
star
5

mailgun-php

Mailgun's Official SDK for PHP
PHP
1,091
star
6

gubernator

High Performance Rate Limiting MicroService and Library
Go
944
star
7

mailgun-js-boland

A simple Node.js helper module for Mailgun API.
JavaScript
896
star
8

kafka-pixy

gRPC/REST proxy for Kafka
Go
752
star
9

mailgun-go

Go library for sending mail with the Mailgun API.
Go
698
star
10

mailgun.js

Javascript SDK for Mailgun
TypeScript
519
star
11

mailgun-ruby

Mailgun's Official Ruby Library
Ruby
468
star
12

groupcache

Clone of golang/groupcache with TTL and Item Removal support
Go
424
star
13

expiringdict

Dictionary with auto-expiring values for caching purposes.
Python
331
star
14

holster

A place to keep useful golang functions and small libraries
Go
277
star
15

validator-demo

Mailgun email address jquery validation plugin http://mailgun.github.io/validator-demo/
JavaScript
259
star
16

dnsq

DNS Query Tool
Python
107
star
17

documentation

Mailgun Documentation
CSS
79
star
18

scroll

Scroll is a lightweight library for building Go HTTP services at Mailgun.
Go
61
star
19

kafka-http

Kafka http endpoint
Scala
51
star
20

forge

email dataset for email signature parsing
51
star
21

wordpress-plugin

Mailgun's Wordpress Plugin
PHP
49
star
22

lemma

Mailgun Cryptographic Tools
Go
39
star
23

multibuf

Bytes buffer that implements seeking and partially persisting to disk
Go
37
star
24

ttlmap

In memory dictionary with TTLs
Go
22
star
25

frontend-best-practices

Guides for React and Javascript coding style and best practices
21
star
26

pong

Generates http servers that respond in predefined manner
Go
20
star
27

proxyproto

High performance implementation of V1 and V2 Proxy Protocol
Go
19
star
28

log

Go logging library used at Mailgun.
Go
19
star
29

mailgun-java

Java SDK for integrating with Mailgun
Java
16
star
30

mailgun-meteor-demo

Simple meteor-based emailer with geolocation and UA tracking
JavaScript
16
star
31

timetools

Go library with various time utilities used at Mailgun.
Go
11
star
32

pelican-protocol

In ancient Egypt the pelican was believed to possess the ability to prophesy safe passage in the underworld. Pelicans are ferocious eaters of fish.
Go
11
star
33

metrics

Go library for emitting metrics to StatsD.
Go
11
star
34

roman

Obtain, cache, and automatically reload TLS certificates from an ACME server
Go
10
star
35

sandra

Go library providing some convenience wrappers around gocql.
Go
10
star
36

iptools

Go library providing utilities for working with hosts' IP addresses.
Go
9
star
37

cfg

Go library for working with app's configuration files used at Mailgun.
Go
9
star
38

logrus-hooks

Go
8
star
39

minheap

Slightly more user-friendly heap on top of containers/heap
Go
8
star
40

pebblezgo

go example of the pebblez transport: protocol buffers over zeromq
Go
7
star
41

glogutils

Utils for working with google logging library
Go
7
star
42

pylemma

Mailgun Cryptographic Tools
Python
5
star
43

media

Logos and brand guidelines
4
star
44

callqueue

Serialized call queues
Go
4
star
45

sneakercopy

A tool for creating encrypted tar archives for transferring sensitive data.
Rust
4
star
46

scripts

Example scripts that show how to interact with the Mailgun API
Python
1
star
47

etcd3-slim

Thin wrapper around Etcd3 gRPC stubs
Python
1
star