AdonisJS is, as they state, a fully-featured web framework for NodeJS. It’s going to allow us to create either a Model View Controller (MVC) or an Application Programming Interface (API) server application.
MVC applications are where we have our business logic and our font-end wrapped up all in one monolithic project. An API server would be where you’d use separate projects for your front-end and back-end; Adonis being your back-end, handling your application’s business logic.
Whichever project structure you utilize Adonis for, Adonis comes loaded with all the features you’ll need to easily build and scale your application. It has its own routing system, controller and service support, file upload support, it has its own object-relational mapper (ORM), validator, command-line interface (CLI), template engine, and more. It also supports both email + password and social authentication as well as authorization.
Its ORM, called Lucid, has a really nice query builder that’s easily customizable, which is built off KnexJS. It also works extremely well with SQL-based relational databases. It’s CLI, called Ace, it’s also very easily customizable allowing you to create your own commands. It’s also type-safe with TypeScript. Need I say more?
About This Series
So, throughout this series, we’re going to be stepping through each of these features in an incremental fashion, not necessarily in the way you’d typically approach a project, but more so to learn things in a stepped process.
So, we’re going to start out here with getting a new project set up and running. Then, in the next lesson, we’re going to take a look at the project structure. Then, we’ll learn about Adonis’s HttpContext, then we’ll spend a few lessons on routing, and so on and so forth.
As a brief aside, I’m also going to be starting other series alongside this one where we specifically focus on building particular projects. So, if you’re interested in that, be sure to check those out as they…