Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ericles-porty/events-scheduler
Fiz esse projeto para praticar PHP, Nginx, Docker, PostgreSQL, Slim Framework, RabbitMQ, PHPUnit e Elasticsearch. A ideia é criar uma api simples para gerenciar eventos utilizando todos esses recursos.
https://github.com/ericles-porty/events-scheduler
dependency-injection docker docker-compose elasticsearch kibana nginx php php-di php8 phpunit postgresql rabbitmq slim-framework slim4
Last synced: 28 days ago
JSON representation
Fiz esse projeto para praticar PHP, Nginx, Docker, PostgreSQL, Slim Framework, RabbitMQ, PHPUnit e Elasticsearch. A ideia é criar uma api simples para gerenciar eventos utilizando todos esses recursos.
- Host: GitHub
- URL: https://github.com/ericles-porty/events-scheduler
- Owner: Ericles-Porty
- Created: 2024-04-14T07:08:09.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-04-30T02:47:02.000Z (6 months ago)
- Last Synced: 2024-10-09T11:43:29.412Z (28 days ago)
- Topics: dependency-injection, docker, docker-compose, elasticsearch, kibana, nginx, php, php-di, php8, phpunit, postgresql, rabbitmq, slim-framework, slim4
- Language: PHP
- Homepage:
- Size: 93.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
Fiz esse projeto para praticar PHP, Nginx, Docker, PostgreSQL, Slim Framework, RabbitMQ, PHPUnit e Elasticsearch.
A ideia é criar uma api simples para gerenciar posts utilizando todos esses recursos.O Readme está incompleto!
Para subir os containers, basta rodar o comando `docker-compose up --build` na raiz do projeto.
Para entrar no container do postgres, basta rodar o comando `docker exec -it posts-api-ecosystem-db-1 bash` no terminal.
Para usar a cli no container do banco de dados, basta rodar o comando `psql -U postgres -d posts` no terminal do container do banco de dados.
Para criar o banco de dados e a tabela, basta rodar os seguintes comandos no terminal do container do banco de dados:
```sql
CREATE DATABASE events;```
O Nginx estará disponível em `http://localhost:8080`O RabbitMQ estará disponível em `http://localhost:15672`. user = guest, password = guest
O Kibana estará disponível em `http://localhost:5601`. user = elastic, password = changeme
Para testar os endpoints, você pode usar o arquivo api.http que está na raiz do projeto com a extensão REST Client do VSCode.
Endpoints:
- GET /api/posts
- GET /api/posts/{id}
- POST /api/posts
- PUT /api/posts/{id}
- DELETE /api/posts/{id}Observações:
- Os testes unitários ainda não estão prontos. Mas pretendo fazer com PHPUnit.
- A documentação da api ainda não está pronta. Mas pretendo fazer com Swagger.
- Ainda não fiz injecção de dependência. Mas pretendo fazer com PHP-DI.