Skip to content

Benefits of Epsilon

Randy edited this page Jul 3, 2024 · 1 revision

The problem we had with maintaining our last projects was difficulty. Stuyvesant students don't have the time to learn an entire code base, nor do most have the devops and programming skills to use technologies made for large scale projects (such as GraphQL). We are able to get away with using a self-hosted BaaS (supabase) because the functionality of our services is simple (they are essentially just a frontend for a database), and because we only serve a maximum of 3000 students at a given time (those who graduate won't use Stuyvesant websites anymore hopefully).

Using what we learned working on previous projects, we were able to make improvements

  • you no longer need to write many lines of boilerplate and edit files in multiple different areas to create one small feature
  • everything is now typescript, so making small api changes won't break the whole site, and everyone gets intellisense
  • we have a really nice supabase CMS now
  • frontend is entirely responsive (data updates instantly for the users)
  • We are now using Postgresql instead of SQLite which is faster and gives us more features.
  • we use Row Level Security instead of API Routes so we can directly interact with the database, allowing some features to completely disregard any backend.
  • we have edge functions that can be written similar to the client that allows us to cover any edge cases and write custom functionality.
  • and we made sure to get rid of common bugs such as editing room numbers, add QOL features such as a room management system and more.
  • we no longer need to manage multiple containers to run services such as minio as they are all bundled within Supabase, a company that maintains them for us.
Clone this wiki locally