GithubHelp home page GithubHelp logo

adrianbienias / osems Goto Github PK

View Code? Open in Web Editor NEW
29.0 3.0 2.0 559 KB

Open Source Email Marketing Software (OSEMS)

Home Page: https://osems.dev

License: MIT License

TypeScript 99.06% JavaScript 0.27% CSS 0.54% Shell 0.14%
autoresponder email-campaigns email-marketing newsletter-api newsletter-application newsletter-management newsletter-software self-hosted

osems's Introduction

OSEMS

Open Source Email Marketing Software

๐Ÿ—’๏ธ Check documentation ยป

TODOs

Tasks marked as done are removed from the list.

  • feat: Update admin login email template
  • feat: Add results pagination
  • feat: Add preheader text to newsletters/autoresponders table view
  • feat: Add option to delete autoresponder (along with log), prompt to confirm
  • feat: Add ability to cancel scheduled newsletter, prompt to confirm
  • feat: Provide an option to send a test email for newsletter/autoresponder
  • feat: Show autoresponder logs in dashboard
  • build: Automate Railway Postgres backups
  • feat: Handle SIGNUP_FORM_ACTION separately, without setting it as fixed option per OSEMS instance
  • build: Dockerize the app
  • docs: Record demo video showing how OSEMS works and how to use it (in Polish and English language)
  • feat: Handle private API endpoints with API token
  • refactor: Separate template schema for list, newsletter, and autoresponder and add relations
  • refactor: Use a wrapper for SWR
  • test: Add missing tests
  • feat: Handle resubscribing (signup again after unsubscribing)
    • Place resubscribe button on the unsubscribe page
  • refactor: Distill routes in modules to distinct files
  • test: Measure performance depending on the dataset size

Coding guidelines

  • Get ready for changes (e.g. swapping Prisma to TypeORM, React to Svelte)
    • Make the code agnostic, use adapters for external libraries
  • Separate domain logic code
    • Prevent leaking libraries into domain logic
  • Provide a single point of communication with modules
    • Export clear API methods (I/O)
    • Treat the communication similarly to a government bureaucracy
      • Provide forms for applicants and validate those forms (within API methods)

osems's People

Contributors

adrianbienias avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

annagiel picie18

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.