Simple Subscribe

Collect emails with a subscription box you can add to any page and build your own independent subscriber base.

Digital Marketing & SEOGoMPL-2.0

Abstract

Simple Subscribe is an open-source Digital Marketing & SEO project. Collect emails with a subscription box you can add to any page and build your own independent subscriber base. Simple Subscribe grew out of a desire to allow individuals and organizations to build their own independent subscriber base. It helps you collect emails with a subscription box you can add to any page. It is built using Go, Serverless, AWS Lambda. Key capabilities include: Enter their email and hit a Subscribe button to sign up; Receive a confirmation email in their inbox with a link to finish signing up (double opt-in); Send requests to unsubscribe from your list and automatically have their email removed. The complete source code is publicly available on GitHub under the Mozilla Public License 2.0, making it a useful reference for students building a Digital Marketing & SEO mini project or final-year project.

1. Introduction

Simple Subscribe grew out of a desire to allow individuals and organizations to build their own independent subscriber base. It helps you collect emails with a subscription box you can add to any page.

Simple Subscribe handles subscription requests, email confirmations (double opt-in), and unsubscription requests for you. You're free to use your own email solution to mail your recipients.

The daughter project RSS Mailer offers one option for mailing your list by turning RSS feed items into email messages.

2. Objective

Collect emails with a subscription box you can add to any page and build your own independent subscriber base.

This project demonstrates how Go, Serverless, AWS Lambda can be applied to a real-world Digital Marketing & SEO problem.

3. Key Features / Modules

  • Enter their email and hit a Subscribe button to sign up.
  • Receive a confirmation email in their inbox with a link to finish signing up (double opt-in).
  • Send requests to unsubscribe from your list and automatically have their email removed.
  • Send newsletters to your list.
  • Click tracking or other metrics.
  • Dance the samba.

4. Technology Stack

GoServerlessAWS Lambda

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Go 1.20 or later
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/victoriadrake/simple-subscribe.git
cd simple-subscribe
  1. Create a DynamoDB table with key email, a string. Key names are case-sensitive.
  2. Create a Lambda Function with main.go uploaded as the code, and appropriate environment variables (see below). Ensure it has permissions to access DynamoDB and SES.
  3. Set up an API Gateway trigger for your Lambda. Ensure payloadFormatVersion for your integration is 2.0.
  4. Set up AWS Simple Email Service for sending a subscription confirmation email. If it's your first time sending with SES, you may need to add and verify your email address or domain.
  5. Optionally, if you're interested in giving your API a custom domain, see the AWS docs on setting up custom domain names for APIs.
  6. Install AWS CLI and set up credentials on your machine.
  7. Create a .env in this repository's root with the appropriate values as described below.

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Export reports to Google Sheets or PDF
  • Schedule weekly automated reports
  • Add competitor comparison

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which marketing or SEO problem does this tool solve?
  2. Which data sources or APIs does it use (Search Console, Analytics, social platforms)?
  3. Which metrics or KPIs does it report and how are they calculated?
  4. How could the output help a business make decisions?
  5. How would you schedule it to run automatically?

9. Source Code & License

This project is developed by victoriadrake and published on GitHub under the Mozilla Public License 2.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Digital Marketing & SEO project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Digital Marketing & SEO Internship