Skip to content

LeChatErrant/API-template

Repository files navigation

API-template

Lint Unit tests Integration tests

What is it ?

  • Decisions are already made
  • Configurations are already written
  • CI / CD pipelines are running
  • Development environment is configured
  • CLI adds new routes
  • Frontend is available
  • Deployment is ready
  • Focus on what matters : code

 

This project provides a typesafe, production ready modern web API template along with a full development environment.

It gives your project a clean base to start and follows development good practices, essentially focusing on maintainability and extensibility

Lastly, it aims to save developers a lot of time since all nasty configurations are already written (typescript, eslint, jest, docker, CI, ...) and technologies are already chosen (language, testing framework, database, ORM, ...)

 

Template
This repository is templated. Use it as a base for your own projects by clicking on Use this template

API-template is fully integrated with

Don't hesitate to share your improvements or to give feedback on Discord (LeChatErrant#6074) 😉

Table of contents

Documentation

Documentation can be found in the wiki

Deployment

API is automatically deployed on Heroku and can be reached on api-template-prod.herokuapp.com

For a complete production deployment, see ops-template

Additionally, you can try out the API here, on Postman

Getting started

  1. Make sure the .envrc is loaded (have a look here)
  2. Install dependencies with npm install
  3. Launch services (database, redis, ...) with npm run dev:services
  4. Run npm run dev

Deployment example

Technologies

...and more

CLI

The template comes with a Command-Line Interface that helps you to initialize, develop and maintain your projects. It saves you from writing boilerplate code

The CLI is currently under heavy development and will be release soon ❤️

More details in wiki

CLI - Generate

Roadmap

  • CLI to create, extend and manage API resources
  • Auto generated code documentation
  • Integration with Prisma seeders
  • Back office template

How to contribute

  1. Fork it (https://github.com/LeChatErrant/API-template/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Issues and comments welcomed ! 😉

Contributors

GitHub Logo   LeChatErrant - creator and maintainer