{"id":27554346,"url":"https://github.com/matheusrocha02/user-manager","last_synced_at":"2026-04-15T20:03:46.551Z","repository":{"id":288100118,"uuid":"962760447","full_name":"MatheusRocha02/User-manager","owner":"MatheusRocha02","description":"Uma API Rest de CRUD em Python (Django) utilizando o Djando Rest Framework para gerenciar usuários","archived":false,"fork":false,"pushed_at":"2025-04-15T14:31:53.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T15:38:31.947Z","etag":null,"topics":["backend","django","django-rest-framework","python","web"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatheusRocha02.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-08T16:24:04.000Z","updated_at":"2025-04-15T14:31:56.000Z","dependencies_parsed_at":"2025-04-15T15:49:34.014Z","dependency_job_id":null,"html_url":"https://github.com/MatheusRocha02/User-manager","commit_stats":null,"previous_names":["matheusrocha02/user-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRocha02%2FUser-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRocha02%2FUser-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRocha02%2FUser-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRocha02%2FUser-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatheusRocha02","download_url":"https://codeload.github.com/MatheusRocha02/User-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249715165,"owners_count":21314992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","django","django-rest-framework","python","web"],"created_at":"2025-04-19T14:31:45.620Z","updated_at":"2026-04-15T20:03:46.546Z","avatar_url":"https://github.com/MatheusRocha02.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🧩 Django REST API - User Manager\n\nOlá! Este projeto é uma aplicação Django com Django REST Framework e Django Templates para gerenciar usuários.\nEle implementa tanto um CRUD de API quanto views que renderizam HTML, permitindo a criação, leitura, atualização e exclusão de usuários, além de estilização com Bootstrap.\n\n\n---\n\n## 🚀 Tecnologias Utilizadas\n\n- [Python](https://www.python.org/)\n- [Django](https://www.djangoproject.com/)\n- [Django REST Framework (DRF)](https://www.django-rest-framework.org/)\n- [SQLite](https://www.sqlite.org/index.html)\n- [Bootstrap](https://getbootstrap.com/)\n---\n\n## 📁 Estrutura do Projeto\n\nA estrutura geral do projeto pode ser visualizada na imagem abaixo:\n\n![estrutura do projeto](estrutura.png)\n\n\n---\n## 📦 Instalando as dependências\n\nPara instalar todas as bibliotecas necessárias do projeto, siga os passos abaixo:\n\n1. Crie e ative um ambiente virtual (opcional, mas recomendado):\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # no Linux/macOS\nvenv\\Scripts\\activate     # no Windows\n```\n## 🐳 Rodando com Docker\n\n\u003e Não quer instalar tudo manualmente? Rode o projeto em um container com Docker! \n\n### 📋 Pré-requisitos\n\n- [Docker](https://www.docker.com/) instalado na sua máquina  \n- [Docker Compose](https://docs.docker.com/compose/) (já vem incluso no Docker Desktop)\n\n### ▶️ Como iniciar o projeto\n\nNo terminal, dentro da pasta raiz do projeto (onde está o arquivo `docker-compose.yml`), execute:\n\n```bash\ndocker-compose up --build\n\nIsso irá:\n\n- ✅ Construir a imagem da aplicação Django\n- 🚀 Subir o container com tudo pronto (Python, dependências, servidor)\n\nO app estará rodando em:  \n🔗 [http://localhost:8000](http://localhost:8000)\n\n---\n\n## ⛔ Como parar o projeto\n\nPara parar e remover os containers, use:\n\n```bash\ndocker-compose down\n\n\n## 🔗 Endpoints Disponíveis\n\n### 🔍 GET todos os usuários\n`GET /`  \n- Retorna uma lista com todos os usuários cadastrados.\n\n---\n\n### 🔍 GET por nickname\n`GET /user/\u003cnick\u003e`  \n- Retorna os dados de um usuário específico com base no nickname (chave primária).\n\n---\n\n### 🔍 GET via query string\n`GET /data?user=\u003cuser_nickname\u003e`  \n- Alternativa para buscar um usuário passando o nickname como parâmetro de URL.\n\n---\n\n### ➕ POST - Criar novo usuário\n`POST /new_user`  \n**Body (JSON):**\n```json\n{\n  \"user_nickname\": \"matheus123\",\n  \"user_name\": \"Matheus\",\n  \"user_email\": \"matheus@email.com\",\n  \"user_age\": 23\n}\n```\n\n---\n\n### ✏️ PUT - Atualizar usuário\n`PUT /edit_user`  \n⚠️ O campo `user_nickname` **não pode ser alterado**.  \n**Body (JSON):**\n```json\n{\n  \"user_nickname\": \"matheus123\",\n  \"user_name\": \"Novo Nome\",\n  \"user_email\": \"novo@email.com\",\n  \"user_age\": 25\n}\n```\n\n---\n\n### 🗑️ DELETE - Excluir usuário\n`DELETE /delete_user`  \n**Body (JSON):**\n```json\n{\n  \"user_nickname\": \"matheus123\"\n}\n```\n\n---\n\n### Frontend - Views HTML\n\nEsses endpoints são responsáveis pela renderização de páginas HTML para as operações de usuário, utilizando templates do Django.\n\n#### 🔍 Visualizar usuários\n`GET /pages/users/`  \nExibe a lista de todos os usuários cadastrados.\n\n#### ➕ Criar usuário\n`GET /pages/users/create/`  \nExibe o formulário para criar um novo usuário.\n\n#### ✏️ Editar usuário\n`GET /pages/users/edit/\u003cstr:nickname\u003e/`  \nExibe o formulário para editar os dados de um usuário específico.\n\n#### 🗑️ Excluir usuário\n`GET /pages/users/delete/\u003cstr:nickname\u003e/`  \nExibe a confirmação para excluir um usuário específico.\n\n\n## 🧪 Testando com Postman\n\n- Certifique-se de que o servidor Django está rodando com `python manage.py runserver`\n- Use os endpoints acima no Postman com os métodos HTTP correspondentes\n- O content-type das requisições deve ser `application/json`\n\n---\n\n## 🌱 Futuras Features \u0026 Melhorias\n\n- ✅ Atualização parcial com método `PATCH`\n- 🔒 Autenticação e permissões com `TokenAuthentication`\n- 🌐 Substituir o banco de dados SQLite por PostgreSQL \n- 🌍 Deploy na nuvem (Render, Vercel ou Heroku)\n- 🔎 Filtros, ordenação e paginação\n\n---\n\n## 🙋🏽‍♂️ Autor\n\nFeito com 💻 e ☕ por **Matheus Rocha | Dev**  \nSe quiser conversar ou colaborar, me chama!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusrocha02%2Fuser-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatheusrocha02%2Fuser-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusrocha02%2Fuser-manager/lists"}