Code Monkey home page Code Monkey logo

asacristani / fastapi-rocket-boilerplate Goto Github PK

View Code? Open in Web Editor NEW
441.0 441.0 66.0 475 KB

๐Ÿ๐Ÿ’จ FastAPI Rocket Boilerplate to build an API based in Python with its most modern technologies!

License: MIT License

Dockerfile 0.83% Makefile 1.48% Python 95.82% Mako 1.09% HTML 0.51% Shell 0.27%
alembic api async backend boilerplate boilerplate-backend celery docker fastapi poetry postgres pydantic pytest python rabbitmq redis sqlmodel trunk

fastapi-rocket-boilerplate's People

Contributors

asacristani avatar doziestar avatar esanchezm avatar mbxrateeq avatar onuralpszr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

fastapi-rocket-boilerplate's Issues

Support Python 3.10

I recommend you add python 3.10 support if possible.
Most enterprises will be stuck to 3.10 due to their use of Ubuntu 22.04.

They don't upgrade things as often as they should. So its in the best interest of the maintainers to do so.

Create a CLI tool?

Imitating Django, it could be amazing a CLI manager program for different things:

  • Explore and manipulate the data though the ORM
  • Handle migrations with Alembic
  • Maybe remove the makefile and do everything in python?
  • ...

Admin: Fix popup for reverse_delete

Now the message for delete and reverse_delete is the same (delete message).
It could be good to modify for reverse_delete being more accurate.

Monitoring: add logging system

Include logs using different levels for the following events:

  • db interactions
  • celery task interactions
  • endpoint interactions

Python3 and Makefile

When running through the installation guide, I needed to change pip to pip3 / python to python3 in order to get the setup running, as my local system is Mac Apple Silicon. Because Mac laptops have python 2.7 installed as base python version, I use shell aliases to map to the latest python/pip versions. Shell aliases don't appear to be expanded in Make, as /bin/sh is a non-interactive shell. How do you want your users to proceed here? Open to suggestions, thanks.

Issue Title: Implement Rate Limiting Middleware

Issue Description: Currently, the FastAPI Rocket Boilerplate lacks rate limiting middleware, which is essential for controlling the number of requests a client can make to the API within a specific time frame. This issue aims to implement rate limiting middleware, allowing developers to configure and enforce rate limits on API endpoints.

Proposed Solution: Implement a rate limiting middleware that:

Supports rate limits based on IP address or user tokens.
Allows developers to configure rate limits for specific routes or groups of routes.
Provides clear documentation on how to configure and use rate limiting in the boilerplate.
Expected Impact: The addition of rate limiting middleware would enhance the security and reliability of the API by preventing abuse and ensuring fair usage of resources

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.