Inspiration
Having worked on projects and at startups that used Django and Prisma.js (one of the most popular Javascript ORMs), I realized that there were pros and cons for both these technologies. I really liked Django's user friendliness and wide functionality, however it is very bulky and is a little harder to deploy. I liked Prisma's comparative lightweightness and the fact that it is in JavaScript, however it was a little confusing to use and forced users to write in custom schema files.
What it does
Octagon is an attempt to take the best aspects from Prisma and Django to create an ORM in JavaScript/TypeScript. Because many full-stack applications use JS/TS frontends, keeping the backend in the same language makes development smoother and keeps mono-repos much cleaner. JavaScript is also a fun language!
Some examples: Like Prisma, Octagon is lightweight and doesn't include a lot of bulk that Django comes with (only the necesities for data management). Octagon also keeps data creation within JavaScript files! This creates the ability to have logic encapsulated within the model itself (something that Prisma cannot do).
How we built it
I started with parsing data creation, creating tables for each model in a Postgres database. Then, I started with other functionality (saving, filtering, updating).
Challenges we ran into
Postgres with TS was a challenge!
What's next for orm
Adding more data types, more concentrated filtering, adding NoSql support
Built With
- javascript
- postgresql
- prettier
- typescript
- yarn
Log in or sign up for Devpost to join the conversation.