I am Andy from England. Working with a dev shop where we have been using https://adonisjs.com for a couple of years, I would like to share it with you.
AdonisJS (as the website says) is a fully-featured Web framework for Node. The fully-featured keyword is important here because that is the focus of the framework.
The framework ships with first-class support for features that 80% of web apps (other than static sites) need. It includes
- First-class support for TypeScript.
- A fully functional HTTP server with everything you expect like a Router, controllers, support for cookies, sessions, middleware, and so on.
- A SQL ORM heavily inspired by Laravel Eloquent and works great. https://docs.adonisjs.com/guides/models/introduction
- A type-safe validator. https://docs.adonisjs.com/guides/validator/introduction
- Baked in Auth module using Adapter pattern. They have different guards to log in users with sessions or API tokens.
- Social auth package. https://docs.adonisjs.com/guides/auth/social
- And literally, there are many packages to simplify everyday tasks like file uploads, password hashing, data encryption, and so on.
If you or your team are trying to get out of the decision fatigue and embrace a batteries-included framework. Then I highly recommend using AdonisJS.
## Resources to get started
- AdonisJS crash course - https://www.youtube.com/watch?v=bSvw887ptKI
- Let's learn AdonisJS - https://jagr.co/series/lets-learn-adonis-5
- A demo polls app - https://polls.adonisjs.dev/ with source code https://github.com/adonisjs-community/polls-app
- Official docs - https://docs.adonisjs.com/guides/introduction
## Why am I cheering for it?
As I mentioned, we have been using the framework for a couple of years and love it. However, the framework is not very popular, and hence at times, we have a hard time selling it to our clients.
So, the management decided that we should do our part in supporting the framework. I am also talking to the community members to see if we can do a small remote meetup.
## Meh, I don't like it, or I don't like batteries-included frameworks
That is okay. We all have personal preferences and tastes when it comes to writing code. My only intention is to share it with folks who like batteries-included frameworks and then grow the community around like-minded people :)