Crypto Convert is a Python-based project designed to facilitate cryptocurrency conversions. The application provides a robust backend for managing conversion operations, caching, integrations with external services, and task automation.
The project leverages the following technologies and frameworks:
- Python 3.12: Core programming language.
- Django: Web framework for backend development.
- Celery: Task queue for asynchronous job processing.
- PostgreSQL: Modern database for development and testing.
- Docker: Containerization for consistent development and deployment environments.
- Pytest: Testing framework for unit and integration tests.
- Cryptocurrency conversion logic with support for multiple coins.
- Caching mechanisms to optimize performance.
- Integration with external services for real-time data (e.g., Bybit).
- Automated tasks for updating conversion statuses and coin data.
- Comprehensive test suite for ensuring code quality.
The project integrates with the following external services:
- Bybit: Fetches real-time cryptocurrency data and handles conversion-related operations.
crypto_convert/: Core application logic, including settings, URLs, and signals.api/: API endpoints for cryptocurrency conversion.cache/: Caching logic and models.integrations/: External service integrations (e.g., Bybit).models/: Database models for configuration and conversion.services/: Business logic for fees and other operations.tasks/: Celery tasks for background processing.tests/: Unit and integration tests.utils/: Utility functions and mixins.
- Clone the repository.
- Build and run the Docker containers:
docker-compose up --build
- Run migrations:
python manage.py migrate
- Start the development server:
python manage.py runserver
Run the test suite using Pytest:
pytestThis project is licensed under the MIT License.