koldakov / futuramaapi

Futurama inspired REST and GraphQL API, blending characters exploration with real-time updates. Tech playground featuring FastAPI, Docker, and more!

Home Page:https://futuramaapi.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About The Project

Welcome to Futuramaapi – your go-to platform for diving into the realms of REST and GraphQL technologies. More than just a learning space, this project is a dynamic hub for anyone keen on mastering RESTful API design, crafting GraphQL queries, and exploring related technologies.

But we're not just another tutorial. Futuramaapi doubles as a sandbox, inviting you to play with the latest tools and frameworks. It's not about theory; it's about hands-on experience, transforming what you learn into practical skills.

Join a vibrant community, engage in experimentation, and collaborate with fellow enthusiasts. Whether you're a beginner or a seasoned developer, Futuramaapi is your space for continuous learning and innovation.

Explore the future of API mastery with Futuramaapi – where learning meets experimentation. Join us in shaping the future of technology.

Key Features

RESTful API:

Explore and understand the principles of REST through our comprehensive API implementation.

GraphQL Integration:

Dive into the world of GraphQL with seamless integration and interactive examples.

Server-Sent Events (SSE):

Experience real-time updates and notifications through the power of Server-Sent Events.

OpenAPI Documentation:

Easily navigate and interact with our APIs using OpenAPI documentation.

Technologies:

Built with HTTP/2, Hypercorn, Python 3.12, FastAPI, asynchronous programming, SQLAlchemy, alembic, PostgreSQL, CI/CD, Ruff, and more, this project embraces cutting-edge technologies to provide a modern development experience.

Requirements

  1. Python >= 3.12
  2. PostgreSQL

Installation

# Create virtual environment
python -m venv .venv
# Activate virtual environment
source .venv/bin/activate
# Install python libraries in virtual environment
pip install -r requirements.txt

(back to top)

Migrations

If you create models in a new file please import it in env.py. Because alembic does not detect child classes.

alembic revision --autogenerate -m "Revision Name"
alembic upgrade head

(back to top)

Development

# Export variables
export $(cat .env | xargs)
# Compile tranlations
make messages-compile
# Run hypercorn server
hypercorn --reload app.main:app

(back to top)

Contributing

  1. Fork the Project
  2. Open a Pull Request
  3. Or just read here: contributing

(back to top)

Methodology

  1. Do a lot, break a lot.
  2. There are no difficult tasks, only interesting.
  3. Mostly TBD.

(back to top)

Important

  1. Quality.
  2. Security.
  3. Google first.

(back to top)

License

Distributed under the Apache 2.0 License. See LICENSE.md for more information.

(back to top)

Buy me a coffee if you want to support me

https://www.buymeacoffee.com/aivCoffee

Contact

Hi all,

How are you? Hope You've enjoyed the project.

There are my contacts:

Project Link: https://github.com/koldakov/futuramaapi

Best regards,

Ivan Koldakov

About

Futurama inspired REST and GraphQL API, blending characters exploration with real-time updates. Tech playground featuring FastAPI, Docker, and more!

https://futuramaapi.com

License:Apache License 2.0


Languages

Language:Python 84.7%Language:HTML 12.9%Language:Dockerfile 0.8%Language:Makefile 0.7%Language:Mako 0.6%Language:Shell 0.3%Language:CSS 0.0%