Artisan Surf Forecast é um aplicativo que adiciona um comando Artisan ao Lumen para gerar uma tabela com a previsão de ondas diárias num intervalo de 3 horas.
A ideia surgiu porque trabalho em um ambiente onde há muita observação presencial, e como um apaixonado por surf, verifico a previsão de ondas várias vezes ao dia. Para facilitar essa visualização sem precisar abrir um navegador, criei um comando Artisan.
Já precisava mesmo aprofundar o conhecimento em comandos para automatizar tarefas aqui na empresa. Uni o útil ao agradável.
Todos são bem-vindos a contribuir, bastando fazer um fork do repositório e criar um pull request com suas contribuições.
Há um arquivo com todas as cidades litorâneas brasileiras em config/coastal_cities_in_brazil.php.
O comando busca a latitude e longitude de uma cidade com base em sugestões, utilizando uma API. Em seguida, consulta outra API para obter a previsão de ondas, normaliza os dados e retorna uma tabela organizada.
O projeto foi desenvolvido para explorar recursos customizados do Laravel/Lumen de forma didática e divertida.
- Lumen
- Se quiser explorar mais recursos além do comando principal, veja abaixo:
- PostgreSQL
- Docker e Docker Compose (com Nginx, PHP, PostgreSQL e Adminer)
- Migrations e Seeds
- Testes automatizados
composer install
php artisan forecast:rundocker-compose up -d
php artisan forecast:runcomposer install
php artisan run:migrate
php artisan db:seed
php artisan test:run- Consulta automática de coordenadas geográficas
- Busca e normalização da previsão de ondas
- Armazenamento no banco de dados (opcional)
- Rotas para gerar previsões (opcional)
- Testes para garantir a qualidade do código (opcional)
Este projeto é de uso livre.
Artisan Surf Forecast is an app that adds an Artisan command to Lumen to generate a table with daily wave forecasts at 3-hour intervals.
The idea came from working in an environment where many people look over my shoulder (in person). As a surf enthusiast, I often check wave forecasts multiple times a day. So, I decided to create an Artisan command to make viewing forecasts easier without opening a browser.
I also needed to deepen my knowledge of command-line automation in my company, so I combined learning with fun.
Everyone is welcome to contribute to the project, as long as they fork the repository and create a pull request with their contributions.
There is a file containing all Brazilian coastal cities at config/coastal_cities_in_brazil.php.
The command fetches a city's latitude and longitude based on suggestions using an API. Then, it retrieves the wave forecast from another API, normalizes the data, and returns a well-structured table.
This project was developed to explore Laravel/Lumen's custom features in an educational and enjoyable way.
- Lumen
- If you want to explore additional features beyond the
php artisan forecast:runcommand:- PostgreSQL
- Docker and Docker Compose (with Nginx, PHP, PostgreSQL, and Adminer)
- Migrations and Seeds
- Automated tests
composer install
php artisan forecast:rundocker-compose up -d
php artisan forecast:runcomposer install
php artisan run:migrate
php artisan db:seed
php artisan test:run- Automatic geographic coordinates lookup
- Fetch and normalize wave forecasts
- Store data in a database (optional)
- Routes to generate forecasts (optional)
- Tests to ensure code quality (optional)
This project is free to use.


