https://github.com/maxsonferovante/sindimeet
O SindiMeet é um sistema que visa facilitar o agendamento de atendimento jurídico para os associados de um sindicato.
https://github.com/maxsonferovante/sindimeet
api-rest docker javascript jwt-authentication nodejs postgresql prisma typescript
Last synced: 3 months ago
JSON representation
O SindiMeet é um sistema que visa facilitar o agendamento de atendimento jurídico para os associados de um sindicato.
- Host: GitHub
- URL: https://github.com/maxsonferovante/sindimeet
- Owner: maxsonferovante
- License: mit
- Created: 2023-09-09T15:55:17.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-26T01:37:51.000Z (over 1 year ago)
- Last Synced: 2025-01-30T09:17:02.025Z (5 months ago)
- Topics: api-rest, docker, javascript, jwt-authentication, nodejs, postgresql, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 209 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SindiMeet - Sistema de Reservas para Atendimento Jurídico
## Propósito do Projeto
O SindiMeet é um sistema que visa facilitar o agendamento de atendimento jurídico para os associados de um sindicato. Permite que os associados façam login em suas contas, agendem atendimentos e verifiquem o status das reservas. O sistema foi desenvolvido com foco na praticidade e comodidade dos usuários.
### Com este sistema, os associados poderão:
✅ Agendar Reservas Online: Adeus, longas filas! Agora você pode reservar seu horário de atendimento com apenas alguns cliques, escolhendo a data que melhor se adequa à sua agenda.
✅ Verificar o Status da Reserva: Mantenha-se informado sobre o andamento da sua reserva. Saiba exatamente quando você será atendido e evite esperas desnecessárias.
✅ Atendimento Personalizado: Nosso sistema organiza as reservas por ordem de chegada, garantindo um atendimento justo e eficiente.
⛔ Notificações por E-mail: Você receberá lembretes por e-mail para garantir que você não perca o seu horário de atendimento e esteja sempre atualizado.
## Tecnologias Utilizadas







## Rotas
Aqui está uma lista das principais rotas da API:
## Rotas de Autenticação
| Rota | Método | Descrição |
| ---------------- | ------ | ------------------------------------ |
| `/user/create` | POST | Crie um novo usuário. |
| `/` | POST | Autentique um usuário. |## Rotas de Reservas
| Rota | Método | Descrição |
| --------------------------------- | ------ | -------------------------------------- |
| `/reservation/create` | POST | Crie uma nova reserva. |
| `/reservation/list/:status` | GET | Obtenha a lista de reservas com base no status fornecido. |
| `/reservation/list/by-user` | GET | Obtenha a lista de reservas de um usuário específico. |
| `/reservation/update-status/:id_reservation` | POST | Atualize o status de uma reserva com base no ID fornecido. |
| `/reservation/list/checkin` | GET | Obtenha uma lista de reservas para o check-in de hoje, ordenadas por horário. |## Como Executar o Projeto
1. **Clone do repositório**:
Execute no seu terminal o comando:
```
git clone https://github.com/maxsonferovante/SindiMeet.git
```
Acesse a pasta do projeto:
```
cd SindMeet
```2. **Instalação de Dependências**: Certifique-se de ter o Node.js instalado em seu sistema. Execute `npm install` para instalar as dependências do projeto.
3. **Configuração do Banco de Dados com Docker**: Utilize Docker para rodar uma instância do PostgreSQL com o seguinte comando:
```bash
docker run --name sindimeet-postgres -e POSTGRES_PASSWORD=suasenha -p 5432:5432 -d postgres
```Certifique-se de substituir `suasenha` pela senha desejada.
4. **Configuração do Banco de Dados sem Docker**: Se preferir, configure um banco de dados PostgreSQL localmente e ajuste as variáveis de ambiente no arquivo `.env`.
5. **Migrações do Prisma**: Execute `npx prisma migrate dev` para criar as tabelas do banco de dados.
6. **Iniciar o Servidor**: Inicie o servidor Node.js com `npm run dev`.
7. **Acesso à Aplicação**: Acesse a aplicação em seu navegador ou via ferramentas como o Postman, configurando as rotas e autenticação conforme a documentação da API.
8. **Utilização da API**: Utilize a API para criar, listar, atualizar e excluir reservas, além de autenticar usuários.
9. **Envio de E-mails**: Configure as credenciais de envio de e-mails no arquivo `.env` para receber notificações sobre suas reservas.
Lembre-se de consultar a documentação da API para obter detalhes sobre como usar cada rota e endpoint.
Além disso, você pode adaptar o arquivo `docker-compose.yml` para incluir a configuração do banco de dados PostgreSQL com Docker.