Git Product home page Git Product logo

et's Introduction

ET

Email Tracker

Notify you when someone opens the email.

Go Report Card Master Build Status GoDoc License Docker Pulls Image Size GitHub release


Status

Total Task Submitted Daily Task Submitted Total Notified Daily Notified

logo

Design

  1. Users provide their email address to receive notifications.
  2. Server generate an uniq track ID and returns to user, in the format of a 1x1 pixel png link.
  3. User insert the png link into the email waiting to send.
  4. When someone opens the link (/t/xxxx-xxxx-xxxx), server will send a notification email to the email address provided.
  5. Since there is no way to identify the target's name, user can optionally set a target username or some comments to the track task.
  6. Allow user to extend the notify times since the user could click the link by mistake.
  7. Allow user to check the task status by the track ID in case of notify email failed to sent.

API

  • GET / Index page, provide a beautiful task submit portal.
  • GET /t/**** Track task handler, always returns a 1x1 pixel png file. Server will do something according to the track ID.
  • /api/ Raw API entrypoint, user can check task status, submit tasks and so on.
  • /api/task/
    • POST ../submit submit a new track task
    • POST ../resume?id=**** resume the stopped task
    • GET ../get?id=**** get task status, all notifications sent
  • /api/status
    • GET ../task?total return a status badge of total task handled
    • GET ../task?daily return a status badge of daily task handled
    • GET ../notified?total return a status badge of total email sent
    • GET ../notified?daily return a status badge of daily email sent

Constraints

  • Same IP address can submit 10 tasks daily(per 24 hours). Can do this in memory, not a big deal.
  • After sent 5 emails, automatically stop this task, user can resume the task once.
  • Validate notifier's email, same email address can only receive 50 emails pre day.

et's People

Contributors

wrfly avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.