Phase 3 of Malaa's technical assesment project.
Clone the repository to your local machine to get started with the project.
git clone https://github.com/MeshalAl/malaa-phase-3.git
- Python 3.11.4 or higher
- Docker
- RapidAPI Account (for market data)
- FastAPI: A modern, fast web framework for building APIs with Python.
- Uvicorn: An ASGI server that serves as the interface between FastAPI and the outside world.
- SQLAlchemy: A SQL toolkit and Object-Relational Mapping (ORM) library for Python.
- Requests: A popular library for making HTTP requests in Python.
- Celery: A distributed task queue that allows for processing tasks asynchronously.
- Celery Beat: A scheduler for Celery, allowing for periodic task execution.
- AMQPStorm: A library for interacting with AMQP brokers, such as RabbitMQ.
- Pika: A pure-Python library for interacting with RabbitMQ.
- Tenacity: A library for retrying failed operations.
- Other Dependencies: Additional libraries and tools may be used, and their details can be found in the `requirements.txt` file.
- Navigate to the project directory.
- Build the Docker containers:
docker-compose -f dev_setup/docker-compose.yml build
- Start the containers:
docker-compose -f dev_setup/docker-compose.yml up
To access market data, you need to add your RapidAPI-Key. Follow these steps:
- Open the `docker-compose.yml` file under the `dev_setup` directory.
- Locate the environment section and add your RapidAPI-Key:
environment:
- RAPID_API_KEY=your-rapidapi-key-here
- Save the file and restart the Docker containers.
- Running Tests: The testing framework and test cases are currently being developed and will be available in future updates.