Description
Aplication to consult and notify user about cryptocoins variations
Prerequisites
- Git, Docker and Docker-Compose installed.
- Create an account at SendGrid and generete a free Api key
API
- To send a email SendGrid
- To get current coin value Mercado Bitcoin
Running the project
All commands below are done in the terminal
1 - Clone the repository and access the directory created by the clone:
git clone https://github.com/acmachado14/cryptobot.git && cd cryptobot
2 - Fill the environment variables in docker-compose.yml:
- EMAIL_API= your_email
- SENDGRID_API_KEY= api_key
3 - Start the application and exec php container:
docker-compose up -d && docker exec -it cryptobot bash
4 - Install Composer dependences and create the database:
composer install && vendor/bin/doctrine orm:schema-tool:create
5 - Finally run the project:
php index.php
Principles
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
Design Patterns
- Factory
- Observer
- Dependency Injection
Methodologies and Designs
- Clean Architecture
- DDD
- TDD
Libraries and Frameworks
- Php
- Git
- Docker
- MySql
- Composer
- Doctrine
- Guzzlehttp
- Symfony
- Sendgrid
- PHPUnit