Building a mini-SaaS with Adonis v5 - Dev log 1

Sun Jan 21 2024

I recently acquired a domain and wanted to build a to-do list app for it. I know, the world already has many, many, many to-do apps, but I felt like none of them really captured what I want from a to-do list - a very big list that I can just pick tasks off and do when I have the time.

Besides that, many apps, whilst packed full of features, usually missed one or two features out that were deal breakers for me. Hence, I loaded up a new Adonis app and started hacking away at what I think is going to be a pretty cool app once finished.

If you havent read it already, there's a "Getting Started with Adonis v5" article already out that covers most of what I'm going to mention in this article in better detail.

Firstly, I started with installing Auth and Lucid packages, both are first-party packages by the Adonis team and manage session-based authentication and interacting with the database (Im using mysql) via an ORM respectively.

Leading on from that I installed Tailwind and setup layouts and views folders so that I don't repeat code and can easily setup new layouts/components/partials etc. This is all boilerplate stuff, however, the next part is part magic/part code

With the general setup out of the way, I set up Tasks and User models (and migrations) for the database.

In days gone by, I would have spent a good few hours setting up login and signup flows, designing pages, writing business logic all to handle Users. However, someone (me) wrote a pretty cool package that generates all the files needed for Auth flows called @adonisaddons/portal. So I installed that and had user accounts up and running in what felt like a few minutes (it was probably longer on video).

After that, I setup the remaining routes and did some little tweaks here and there (renaming routes and form fields)

Finally, the last thing to do was test everything worked, which it did after a few attempts and cleaning up some bugs.

Want to follow along with my devlog journey? Follow me on Twitter or Youtube to be notified when new videos and articles go live! 😎

Table of Contents