Skip to main content


Does OSEMS handle plain text emails along with HTML?

Yes. Plain text versions are automatically generated based on HTML templates, using node-html-to-text library.

Even if sending plain text may sound optional, it's encouraged to send it along HTML in order to satisfy spam filters.

"Spam filters like to see a plain text alternative. HTML-only emails are a red flag for spam filters."

- Learn Why Plain Text Emails Still Work and How to Use Them - Litmus

What frameworks/libraries/packages OSEMS uses?

OSEMS is build on top of Next.js framework.

It uses React, TypeScript, and Node.js.

For database operations it uses Prisma ORM that allows you to connect with:

  • PostgreSQL
  • MySQL
  • SQLite
  • MongoDB
  • CockroachDB
  • Microsoft SQL Server

For visual styling, Tailwind CSS has been used.

Automated tests have been written in Vitest (similar tool to Jest).

Cron jobs are handled via node-cron.

On the frontend side, data is fetched by SWR to cache request and handle polling.

Emails are sent with Nodemailer.

For auth JWT is used with simple custom magic link mechanism.