Behind The Project of NanoWebDev

This article will inform you about behind the project of NanoWebDev. So the new developer can easily understand what should to do before getting started to develop our project.
What we create ?
Our goal is to create an applications that scalable for horizontal scaling purpose. We create a small isolated application so our application can run standalone and could connect to other applications via API. When we setup our applications run as service, then we can call this Microservices.
How we create ?
There is a rules to make a microservices application:
- Application must be
smalland can runstandalone. - Application support to run in
container serviceslike docker. - Application support to run in
clustermode (multi thread). - Application cache could switch easily from
memoryto usingRediswhen in cluster or scale mode. - Authentication and Authorization must be
stateless(no session and cookie). - Application have
own database, never connect directly on others database. - Communication with other applications should using Rest
API. - If the application have an upload feature, never upload to same directory application. File should be uploaded to another server storage or storage service like AWS S3, etc.
Code of Conduct
NanoWebDev using Fastify framework which is powered by NodeJS and written using JavaScript programming language.
Server (backend):
- Minimum NodeJS v14.19.3.
- NodeJS Framework Fastify v4.
- Use strict.
- Rest API first.
- API Documentation using Postman.
- Default Database is
SQLitebut have to support switch to multiple RDBMS. i.e MySQL, MariaDB and PostgreSQL. - Default
cache serveris usingmemorybut have to support switch to Redis easily. - Everything is Stateless using JWT (no session and cookie).
- Dockerized to support deploy on container service.
- Codestyle StandardJS
Views (frontend):
- Use strict.
- Using ETA template engine.
- CSS Framework using Bootstrap 5.
- Default theme template using Argon Dashboard 2 - Free Version.
- Support for all modern browser with minimum EDGE browser (no IE support).
- Vanilla JavaScript (no Jquery).
Get Started
If you interested to develop our project. You can start by learning one of our project source code. Applications is very small, so you will be easy to read, learn and understanding the source code.
Update
Currently NanoWebDev develop our applications based on above direction. We could change our direction in the future following the new technology or new solution that more efficient.
