Cookiecutter - building new projects the "right way".

Track:
Python Core

Using Cookiecutter to standardize configurations and best practices tailored to your team. It enables building new projects, ensuring consistency without the need to recreate foundational elements.

One of the key challenges software developer teams encounter when building microservices is maintaining best practices and consistency. Creating new microservices can be laborious and time-consuming, as it often requires redoing foundational work from scratch each time. Ensuring uniformity across microservices can also help reduce the onboarding time for new developers. Cookiecutter is a Python package designed to assist developers in creating and using templates for microservices and software projects. It facilitates rapid project scaffolding with predefined structures, configurations, and best practices. Cookiecutter templates can be tailored to prompt users for input, setting various variables throughout the template. In this presentation, we will walk through the setup and configuration required to start using Cookiecutter. After the setup, we will create a basic FastAPI microservice template that can be reused and adapted to meet different requirements.

I have been a part of the team that was maintaining multiple microservices. These microservices were built over 5-7 years and each one of them used different configurations, python versions etc.

On-boarding new developers was cumbersome and time consuming. Debugging an issue will be unique to how the microservice was set up, how the logs are handled and how the dev, test and prod environments are set up to re-create that issue.

If we have a standardize approach to our projects where we can adapt a consistent fashion of doing things, we can minimize the time and effort required to deliver a solution.

I want to demo the simplicity and the power of cookiecutter which has been a blessing for our team. I want to demo and empower the audience, so that they can use cookiecutter right after the presentation in their projects if they choose to.

I intend to demo the basic setup and walk them through few examples. I will provide a github link with all the documentation and code that can help them get started with Cookiecutter.