O LocalSig é um sistema de registro de usuários com verificação por e-mail e telefone. Estou usando React Vite com TypeScript para a interface do usuário e armazenamento de informações via Context do React. O backend é construído com NestJS, usa Docker para conteinerização e PNPM como gerenciador de pacotes.
O código do projeto está estruturado da seguinte maneira:
src/
: Contém o código-fonte principal da aplicação.controllers/
: Contém os controladores que manipulam as requisições HTTP.dto/
: Contém os objetos de transferência de dados usados para validação e formatação.util/
: Contém funções utilitárias, como validação de CPF, geração de códigos aleatórios, etc.users.service.ts
: É o serviço responsável por operações relacionadas aos ao banco do usuário.users.controller.ts
: É o serviço responsável por operações relacionadas controlador, validar e usar a requisição do service.
O código do projeto está estruturado da seguinte maneira:
src/
: Contém o código-fonte principal da aplicação.context/
: Contém os controladores que manipulam as requisições HTTP.hook/
: são funções especiais que permitem que componentes funcionais utilizem estado e realizem efeitos colaterais, oferecendo uma alternativa mais flexível e reutilizável em comparação aos componentes de classe.pages/
: É o local onde residem as páginas do projeto React, que compõem um Single Page Application (SPA).provider/
: Provider facilita o compartilhamento de dados entre componentes sem a necessidade de passar explicitamente esses dados por meio de propriedades. É especialmente útil para gerenciar estados globaisroutes/
: Sistema de rotas do react router domutils/
: Contém funções utilitárias, como validação de CPF
Para executar este projeto, você precisa ter instalado:
- Clone o repositório:
git clone git@github.com:rafaelmasselli/localSIGUserRegistration.git
Siga os passos abaixo para configurar o ambiente de desenvolvimento:
- Navegue até o diretório do backend do projeto:
cd localSIGUserRegistration/backend
- Instale as dependências:
pnpm install
Para iniciar a aplicação, siga os passos abaixo:
- Inicie o banco de dados que está no docker compose:
docker-compose up
- Instale o projeto e inicie-o:
pnpm install
pnpm start:dev
A aplicação estará acessível em http://localhost:3000
.
Aqui estão alguns dos principais endpoints da API:
Swagger do projeto: http://localhost:3000/api
GET /user/
: Retorna todos os usuários cadastrados.
- Resposta de sucesso (200): Lista de usuários.
GET /user/codes
: Retorna todos os códigos de verificação cadastrados.
- Resposta de sucesso (200): Lista de códigos de verificação.
POST /user/findUnique/code/id
: Encontra um código de verificação por ID
- Resposta de sucesso (200): Código de verificação correspondente.
DELETE /user/delete/code
: deleta códigos de verificação por ID.
-
Resposta de sucesso (200): Códigos deletado com sucesso.
-
Resposta de erro (404): Usuário não encontrado.
POST /user/create
: Cria um novo usuário com endereço.
- Resposta de sucesso (201): Usuário criado com sucesso.
- Resposta de erro (400, 403, 404, 409): Mensagens de erro detalhadas.
- Resposta de erro (500): Erro interno do servidor.
POST /user/confirm/code
: Confirma códigos de verificação por e-mail e telefone.
- Resposta de sucesso (200): Código confirmado com sucesso.
- Resposta de erro (400): Código inválido ou entrada inválida.
POST /user/create/code
: Cria códigos de verificação para o e-mail e o telefone
- Resposta de sucesso (200): Códigos de verificação enviados com sucesso.
- Resposta de erro (400, 409, 500): Mensagens de erro detalhadas.
Siga os passos abaixo para configurar o ambiente de desenvolvimento:
- Navegue até o diretório do backend do projeto:
cd localSIGUserRegistration/frontend
Para iniciar a aplicação, siga os passos abaixo:
- Instale o projeto e inicie-o:
pnpm install
pnpm run dev
A aplicação estará acessível em http://localhost:5173
.
-
/
Home do projeto aonde ta a section de acesso ao cadastro ou de exibir os usuários -
/register
campo de registro do usuário -
/users
campo do findMany dos usuários