Fira is a codename for temandanus web platform v1.
Basically we are using MVC paradigm for architecting our platform, using MongoDB as our primary database, and Bulma as CSS framework.
- JSON Web Token
All dynamic configuration are always stored in environment variables for prevent information leaking, and we are using 12factor approach in building a Web Application.
To making onboarding process for new developer become harder, we use
svc prefix plus some girl name that represent each service.
Basically they are fariz's ex.
Sarah is responsible in handling static assets that uploaded by end user. It can be product images, project videos, or cat gifs.
Sarah is a good person, love to collect something, and good in placing things.
Before we dive deeper, we use "Backend for Frontend" paradigm instead of Fullstack. It means, Backend and Frontend is separated. We use microservices architecture for each backend.
Also you need to install MongoDB, Docker, and Node.js in our machine. Not so typical Indonesia's tech stack
Also we use monorepo for structuring our repository infrastructure, it makes our job easier to maintain this platform at least for now.
Clone the repository
You already know this old story.
$ git clone email@example.com:temandanus/fira.git
Please always use SSH instead HTTPS, it means you should upload your SSH Public Key to GitHub.
Bootstrap development environment
Make sure you have Docker installed in your machine.
First of all, you need to setup "Swarm" mode in Docker
docker swarm init
After that you can start run this services in your machine by running this command
docker stack deploy -c docker-compose.yml temandanus
I am assuming you are on current work directory.
You need to set some setup according with your local machine. You need to take a look to
.env.example file and fill it with your configuration
Per 25/07/2019 we don't have any Test suites, but in future we will writing some Unit & Integration test via Jest. That automated test are only for backend, and not have any plan for write it for backend.