- Visão Geral
- Observações
- Tecnologias
- Instalação
- Documentação da API
- Endpoints de Autenticação
- Endpoints da API
- Endpoints do Frontend
- testes
- Licença
- Contato
Este projeto consiste em uma aplicação que envolve uma API backend desenvolvida com Django e Django Rest Framework e um frontend construído com React e TypeScript. A aplicação é voltada para gerenciar usuários, permitindo operações como criar, atualizar, visualizar e excluir contas de usuário incluindo autenticação via JWT.
-
Algumas informações sobre os arquivos e pastas do projeto / Api Django:
common/
- Pasta com arquivos em comuns a todos os apps do projetousers/
- Pasta do app de usuáriosusers/fixtures/
- Pasta com fixtures para popular o banco de dadosusers/tests/
- Pasta com os testes do app de usuáriosusers/serializers.py
- Arquivo com os serializers do app de usuáriosusers/api.py
- Arquivo com asviewsSets
do django rest framework do app de usuáriosusers/views.py
- Arquivo com as views do app de usuários (Foi criado views para templates, porém foram desabilitados no menu do layout em common/templates/layout/layout.html)
-
Algumas informações sobre configurações de segurança:
- diretivas de segurança do projeto estão em
setup/settings.py
CORS_ALLOWED_ORIGINS
- Permite que apenas o frontend acesse a APISECURE_CONTENT_TYPE_NOSNIFF
- Para evitar ataques de sniffing de MIMESECURE_BROWSER_XSS_FILTER
- Para evitar ataques de XSSX_FRAME_OPTIONS
- Para evitar ataques de clickjackingCSP_DEFAULT_SRC
- Política de segurança Content-Security-Policy (CSP)
- diretivas de segurança do projeto estão em
- Docker
- Django
- Django REST framework
- React
- TypeScript
clone o projeto
git clone https://github.com/candidosouza/django-react-user.git
entre na pasta do projeto
cd django-react-user
suba o container
docker-compose up -d
acesse o container da api
docker compose exec api bash
ative o ambiente virtual
poetry shell
rode as migrations
python manage.py migrate
rode as fixtures
python manage.py seeds
suba o servidor
python manage.py runserver 0.0.0.0:8000
acesse o servidor local
http://localhost:8000/
acesse o container do frontend
docker compose exec frontend bash
instale as dependências
npm install
suba o servidor
npm start
acesse o servidor local
http://localhost:3000/
A documentação da API está disponível em:
/swagger/
/schema.json/
/redoc/
POST /api/token/
- Solicitação de token JWTPOST /api/token/refresh/
- Atualização de token JWTPOST /api/token/verify/
- Verificação de token JWT
GET /api/
- API RootGET /api/users/
- Lista de usuáriosPOST /api/users/
- Criação de um usuárioGET /api/users/<int:pk>/
- Detalhes de um usuárioPUT /api/users/<int:pk>/
- Atualização de um usuárioPATCH /api/users/<int:pk>/
- Atualização parcial de um usuárioDELETE /api/users/<int:pk>/
- Exclusão de um usuário
/user-platform-admin/
- Página de login do admin
usuário: admin
password: admin
/
- Página inicial/
- Login via Modal/
- Cadatro via Modal/
- Págian de perfil do usuário logado/update/<int:id>/
- Página de atualização de usuário/delete/<int:id>/
- Página de exclusão de usuário/logout/
- Página de logout
Para rodar os testes, acesse o container da api
docker compose exec api bash
ative o ambiente virtual
poetry shell
rode os testes
python manage.py test
Este projeto NÃO possui licença.
Este projeto oferece uma solução para gerenciamento de usuários, com um backend que fornece endpoints para manipulação de dados de usuário e um frontend interativo que permite aos usuários acessarem e atualizarem suas informações.