I work in a french company called theTribe where our typical projects are 3 to 6 month long, generally web or mobile app.
We usually end up choosing a mix of JS / Python or PHP for our web based project and React Native or Flutter for our mobile projects.
This means a lot of projects, with different needs but also a lot of common tasks we need to solve each time. (think linting, continuous integration, deployment and provision automation, DB setup, Test setup, authentication etc)
the painpoints
A typical bootstrap takes roughly between 3 to 10 days depending on the specificity of the project.
Historically we had different starter kits, for mobile, php and javascript projects. Each of them relying on different patterns, and since they were scattered it was difficult to maintain them and/or promote their use.
Therefore we decided to tackle this painpoint by creating a new generator which would aim :
- to centralize our needs.
- allow the dev to choose between the different main tech we use at theTribe
- allow a better maintenance of the project
the solution
We ended up choosing Yeoman which allow us to provide a CLI experience with prompts where the dev will be asked a few questions to choose the stack he/she wants to use and some variables for the project identity
The current MVP covers the most used technologies which are:
- Front-End Architecture : you can choose between
Create React App
andNextJs
as a boilerplate app - Backend-End Architecture : you can choose between
Node
andSymfony
(Node backend comes with Express and TypeORM) - Containerization In dev environment with
docker-compose
- Provision/Deployment automation with
Ansible
- Instance Management with
Terraform
- Continuous Integration with
CircleCI
All this comes with the appropriate file structure and allow each dev to kickstart their project easily
We just have open-sourced it on https://github.com/thetribeio/generator-project and we would appreciate any feedback,
In parallel we also have uploaded it on a the Fast Modular Project which is a platform which aims to reference different starter kits from different companies and individuals.
Do not hesitate to pin and like if you appreciated the article ❤️
Top comments (0)