Hello there,
I'm creating this starter kit for future projects to (re)build using the new version of the Quasar Framework v1.0
This first part is mainly to put the project out there.
The projects
The admin website
The client website
Stack
The stack I used was selected to fit my needs. Could I have choose other packages? Sure, but now I'm all in favour for productivity instead of "using the latest cool tech out there in pre alpha"
Most of the projects will need a client front, a separated admin application, probably some microservices that will need to interact with the database outside the API
Let's go over the different choices and alternatives
- lerna: the project packages manager. Let's go monorepo! Other alternatives are yarn workspaces, meta
- quasar-framework: Both client and admin will be done using the latest version. That's the whole point of this kit actually. Alternatives... well not for me :D
- hapi: Here I stick to what I know for the API and what I currently use most. There are so many possibilities... here are a few, expressjs, koa, feathers, sails, graphQL and apollo and a lot more.
- mongodb: I like my NoSQL! MyQSL, MariaDB, PostgreSQL, CouchDB, ...
Current features
- For now the client and admin website have a login form
- The admins can only use admin website and the clients the client website
- The guest are redirected to the login page if they attempt to go to an authenticated user only page
Repository
https://github.com/gregory-latinier/quasar-starter-kit
- https://github.com/gregory-latinier/quasar-starter-kit/pull/1 => Init the repo with lerna as a package manager
- https://github.com/gregory-latinier/quasar-starter-kit/pull/2 => Add the sample quasar v1.0
- https://github.com/gregory-latinier/quasar-starter-kit/pull/3 => And a basic hapi server
- https://github.com/gregory-latinier/quasar-starter-kit/pull/4 => And a database package that contains the models
- https://github.com/gregory-latinier/quasar-starter-kit/pull/5 => Api token auth
- https://github.com/gregory-latinier/quasar-starter-kit/pull/6 => Add a login page
- https://github.com/gregory-latinier/quasar-starter-kit/pull/7 => Add authenticated route and redirect to login page
- https://github.com/gregory-latinier/quasar-starter-kit/pull/8 => Export the models to enable require instead of using request
- https://github.com/gregory-latinier/quasar-starter-kit/pull/9 => Add an admin website
Roadmap
There are some basic features that will be added soon. Here is a non exhaustive list:
- API Linting
- API authenticated / optional endpoints
- API endpoints validation
- Web form validation util using the built-in quasar features
- Precommit hooks
- ...
The idea is to stay the most generic possible so that I don't need to remove features for every new project.
GitHub Account
https://github.com/gregory-latinier
Stay tuned for more