DEV Community

loading...
Cover image for Create a starter kit that fits your needs.

Create a starter kit that fits your needs.

mveillon
JS Dev, Dad, DnD player and fisherman
Updated on ・2 min read

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 and NextJs as a boilerplate app
  • Backend-End Architecture : you can choose between Node and Symfony (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 ❤️

Discussion (0)