https://github.com/elmarcelfarias/pontoapi-laravel10
PontoAPI - Sistema de Registro de Ponto com Laravel 10: API RESTful para gerenciamento de registro de ponto de funcionários, desenvolvida com Laravel 10, JWT Authentication, MySQL e Redis. Permite autenticação segura, controle de horários por jornada, geração de relatórios em PDF e gerenciamento de usuários com permissões.
https://github.com/elmarcelfarias/pontoapi-laravel10
api api-rest authentication docker dompdf jwt-authentication mysql pdf php8 redis rest
Last synced: about 1 month ago
JSON representation
PontoAPI - Sistema de Registro de Ponto com Laravel 10: API RESTful para gerenciamento de registro de ponto de funcionários, desenvolvida com Laravel 10, JWT Authentication, MySQL e Redis. Permite autenticação segura, controle de horários por jornada, geração de relatórios em PDF e gerenciamento de usuários com permissões.
- Host: GitHub
- URL: https://github.com/elmarcelfarias/pontoapi-laravel10
- Owner: ElMarcelFarias
- Created: 2025-06-12T22:03:19.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-21T18:48:54.000Z (12 months ago)
- Last Synced: 2025-06-21T19:35:53.779Z (12 months ago)
- Topics: api, api-rest, authentication, docker, dompdf, jwt-authentication, mysql, pdf, php8, redis, rest
- Language: PHP
- Homepage:
- Size: 170 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ponto API
### Passo a passo
Clone Repositório
```sh
git clone https://github.com/ElMarcelFarias/pontoapi-laravel10
```
```sh
cd pontoapi-laravel10
```
Crie o Arquivo .env
```sh
cp .env.example .env
```
Atualize as variáveis de ambiente do arquivo .env
```dosini
APP_NAME="pontoapi"
APP_URL=http://localhost:8989
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=pontoapi
DB_USERNAME=root
DB_PASSWORD=root
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
```
Suba os containers do projeto
```sh
docker-compose up -d
```
Acesse o container app
```sh
docker-compose exec app bash
```
Instale as dependências do projeto
```sh
composer install
```
JWT Authentication (Instale o pacote JWT)
```sh
composer require tymon/jwt-auth
```
Publique a configuração
```sh
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
```
Gere o secret JWT
```sh
php artisan jwt:secret
```
Geração de PDF (Instale o DomPDF)
```sh
composer require barryvdh/laravel-dompdf
```
Crie o link do storage
```sh
php artisan storage:link
```
Rode as migrations para construir as tabelas no BD
```sh
php artisan migrate
```
Crie a pasta para relatórios PDF
```sh
mkdir exports
chmod -R 775 exports
```
Acesse a API
[http://localhost:8989](http://localhost:8989)
Requisitos
* Laravel 10
* PHP 8.1
* MySQL 5.7+
* Redis
* JWT.
As rotas da API estão documentadas em documentacao_rotas_api.
[Documentação da API](https://github.com/ElMarcelFarias/pontoapi-laravel10/blob/master/documentacao_rotas_api.md)
Documentacao das rotas com Swagger
```sh
docker pull docker.swagger.io/swaggerapi/swagger-ui
```
Subir o container:
```sh
docker run -p 90:8080 -e SWAGGER_JSON=/tmp/openapi-resolved.json -v $(pwd):/tmp docker.swagger.io/swaggerapi/swagger-ui
```
Acesse em [Documentacao Swagger](http://localhost:90/)
Para acessar as rotas protegidas, envie o header:
```sh
Authorization: Bearer
```
Gere a key do projeto Laravel
```sh
php artisan key:generate
```