https://github.com/code-and-sorts/cookiecutter-api
Cookiecutter API templates for Azure Function Apps, AWS Lambdas, and Google Cloud Functions.
https://github.com/code-and-sorts/cookiecutter-api
api azure cookiecutter cookiecutter-template csharp dotnet function-app node python typescript
Last synced: 5 months ago
JSON representation
Cookiecutter API templates for Azure Function Apps, AWS Lambdas, and Google Cloud Functions.
- Host: GitHub
- URL: https://github.com/code-and-sorts/cookiecutter-api
- Owner: Code-and-Sorts
- License: mit
- Created: 2024-08-10T21:51:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-20T18:37:53.000Z (5 months ago)
- Last Synced: 2025-08-20T20:45:09.175Z (5 months ago)
- Topics: api, azure, cookiecutter, cookiecutter-template, csharp, dotnet, function-app, node, python, typescript
- Language: C#
- Homepage:
- Size: 729 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

Cookiecutter API




[](https://github.com/cookiecutter/cookiecutter)
This is a modern ๐ช Cookiecutter template to create REST APIs for multiple cloud platforms in multiple languages. This template supports the multiple cloud platforms and languages.
## ๐งช Usage
Install Cookiecutter using pip package manager:
```console
# pipx is strongly recommended.
pipx install cookiecutter
# If pipx is not an option,
# you can install Cookiecutter in your Python user directory.
python -m pip install --user cookiecutter
```
To create a Cookiecutter API project, run the following for each implemented template.
```console
# Create using the GH CLI
cookiecutter gh:Code-and-Sorts/cookiecutter-api/{LANGUAGE_OPTION}
# Create using the GH URL
cookiecutter https://github.com/Code-and-Sorts/cookiecutter-api.git --directory {LANGUAGE_OPTION}
```
Follow the prompts and answer them with your own desired options.
## ๐ Supported Templates
Azure
AWS
GCP
Function App
Lambda
Cloud Function
โ
๐
๐
โ
๐
๐
โ
๐
๐
๐
๐
๐
---
> [!NOTE]
> Each project follows the controller-service-repository pattern.
## ๐ฏ Examples
Python
- [Function App Example](https://github.com/Code-and-Sorts/cookie-py-az-func-api)
Typescript
- [Function App Example](https://github.com/Code-and-Sorts/cookie-ts-az-func-api)
Dotnet
- [Function App Example](https://github.com/Code-and-Sorts/cookie-cs-az-func-api)
## ๐ Resources
Below is a list of resources and documentation for the types of SDKs and frameworks used in the various Cookiecutter APIs.
### Python
- [Poetry](https://python-poetry.org/) for dependency management
- [pytest](https://docs.pytest.org/en/stable/) and [codecov](https://about.codecov.io/) for testing
- [pydantic](https://docs.pydantic.dev/latest/) for schema validation
### Typescript NodeJS
- [Yarn](https://yarnpkg.com/) for dependency management
- [Jest](https://jestjs.io/) for testing
- [Zod](https://zod.dev/) for schema validtion
## Dotnet
- [Nuget](https://www.nuget.org/) for dependency management
- [xUnit](https://xunit.net/) for testing
- [FluentValidation](https://docs.fluentvalidation.net/en/latest/) for schema validtion
### Azure
- [Azure Function Apps ](https://learn.microsoft.com/en-us/azure/azure-functions/) for hosting the APIs
- [Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/) for data storage
### AWS
- [Lambda docs](https://docs.aws.amazon.com/lambda/) for hosting the APIs
- [DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html) for data storage
### Google Cloud
- [Cloud Functions](https://cloud.google.com/functions/docs) for hosting the APIs
- [Firestore](https://cloud.google.com/firestore#documentation) for data storage
## ๐๐ป Acknowledgements
Florian Maas' [cookiecutter-poetry](https://github.com/fpgmaas/cookiecutter-poetry) repository was a very helpful resource for building out this Cookiecutter template.