/fastapi-trade-api-sample

Simple TradeAPI app for practicing FastAPI framework with Postgres, Celery, Flower, WebSockets, Templates, Docker/Compose

Primary LanguagePython

TradingApp-API

TradingApp-API is a FastAPI-based API for a Trading App. It provides a high-performance backend solution for managing user authentication, trading operations, chat functionality, serving web pages, and background task handling.

Features

  • User authentication with secure endpoints for registration, login, and authentication management.
  • Real-time chat functionality using WebSocket connections.
  • Endpoints for managing trading operations with secure access and data validation.
  • Web page serving for interactive user interfaces.
  • Background task handling for asynchronous processing.

Prerequisites

  • Python 3.10

Project Structure

The repository follows a modular structure, organizing the code into separate directories for different functionalities, including authentication, chat, trading operations, web page serving, and background tasks. It utilizes FastAPI's features such as routing, models, and middleware for building a robust and scalable API.

Directory Structure

  • src: Contains the main source code of the FastAPI application.
  • tests: Includes unit tests for the project.
  • docker: Holds Docker-related files for containerization.
  • migrations: Contains database migration scripts generated by Alembic.
  • Other configuration and dependency files.

Launching

To launch the project, follow these steps:

  1. Ensure you have Docker and Docker Compose installed on your machine.
  2. Open a terminal or command prompt.
  3. Clone the repository using the following command:
git clone https://github.com/joerude/fastapi-trade-api-sample.git 
  1. Navigate to the project's root directory:
cd fastapi-trade-api-sample
  1. Run the following command to build and launch the project using docker-compose:
docker-compose up --build