{"id":19272177,"url":"https://github.com/isaque-s-0liveira/super-portifolio-python","last_synced_at":"2026-04-07T09:31:17.919Z","repository":{"id":211184347,"uuid":"728435597","full_name":"isaque-S-0liveira/Super-portifolio-python","owner":"isaque-S-0liveira","description":"Foi desenvolvido uma API robusta para gerenciamento de perfis e projetos em um super portfólio. A aplicação contará com autenticação via JWT e permitirá a criação, leitura, atualização e remoção (CRUD) de perfis, projetos, certificados e instituições certificadoras.","archived":false,"fork":false,"pushed_at":"2024-09-09T19:24:22.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-07T20:51:16.323Z","etag":null,"topics":["css3","django","django-rest-framework","docker","html5","mysql","python","simple-jwt"],"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/isaque-S-0liveira.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}},"created_at":"2023-12-06T23:54:32.000Z","updated_at":"2024-09-09T19:26:21.000Z","dependencies_parsed_at":"2024-11-09T20:35:52.937Z","dependency_job_id":"9718c924-9d43-4d6e-bc2e-84c966cc0742","html_url":"https://github.com/isaque-S-0liveira/Super-portifolio-python","commit_stats":null,"previous_names":["isaque-s-0liveira/super-portifolio-python"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/isaque-S-0liveira/Super-portifolio-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FSuper-portifolio-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FSuper-portifolio-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FSuper-portifolio-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FSuper-portifolio-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isaque-S-0liveira","download_url":"https://codeload.github.com/isaque-S-0liveira/Super-portifolio-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FSuper-portifolio-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31507930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["css3","django","django-rest-framework","docker","html5","mysql","python","simple-jwt"],"created_at":"2024-11-09T20:35:43.501Z","updated_at":"2026-04-07T09:31:17.899Z","avatar_url":"https://github.com/isaque-S-0liveira.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Super portifolio python \n\n## Contexto do Projeto\n\nO foco principal deste projeto, com base nos ensinamentos da **Trybe**, é praticar e consolidar os conhecimentos em **Django** e **Django Rest Framework (DRF)**, desenvolvendo uma API robusta para gerenciamento de perfis e projetos em um super portfólio. A aplicação contará com autenticação via **JWT** e permitirá a criação, leitura, atualização e remoção (CRUD) de perfis, projetos, certificados e instituições certificadoras.\n\n\u003cdetails\u003e\n  \u003csummary\u003eO que é a Trybe?🤔\u003c/summary\u003e\n  A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.\n\u003c/details\u003e\n\n\nNeste projeto, a API permite que usuários cadastrem seus perfis e projetos, além de armazenar suas certificações e as instituições certificadoras. Com a implementação da arquitetura **CRUD** e a utilização de **ViewSets** e **Serializers**, será possível criar rotas e endpoints RESTful eficientes, com suporte a entidades aninhadas, ou seja, será possível gerenciar certificados e instituições certificadoras de forma integrada.\n\n### Funcionalidades Principais:\n\n1. **Autenticação JWT**:\n   - O projeto implementa autenticação utilizando o **Simple JWT**, garantindo que apenas usuários autenticados possam acessar rotas sensíveis.\n   - A autenticação é exigida para criar, atualizar ou deletar perfis e projetos, enquanto a leitura é acessível publicamente.\n\n2. **CRUD de Perfis e Projetos**:\n   - Os usuários poderão criar e gerenciar seus perfis e projetos. Cada perfil poderá ser associado a múltiplos projetos, permitindo a construção de um portfólio completo.\n   - O CRUD de perfis permite listar, criar, editar e excluir perfis e projetos por meio de endpoints RESTful.\n\n3. **Perfis Customizados**:\n   - A visualização dos perfis será renderizada diretamente em templates HTML para permitir uma navegação amigável e informativa.\n   - O método `GET` para exibir perfis é aberto ao público, sem necessidade de autenticação, enquanto as demais operações (POST, PATCH, DELETE) requerem login.\n\n4. **CRUD Inline de Certificados e Instituições**:\n   - É possível criar e gerenciar certificados e suas respectivas instituições certificadoras em uma única requisição, tornando a interface mais eficiente e intuitiva.\n   - Através de serializers aninhados, será possível exibir todas as certificações e suas instituições de forma estruturada.\n\n5. **Exibição de Perfil Completo**:\n   - A página de perfil exibe todos os detalhes de um usuário, incluindo certificados, instituições certificadoras e projetos associados, permitindo uma visão completa do portfólio do usuário.\n\n### Habilidades Desenvolvidas:\n\n- Utilização do **Django REST Framework (DRF)** para criar uma API com entidades aninhadas.\n- Implementação de autenticação baseada em **JWT** com o pacote **Simple JWT**.\n- Criação de **ViewSets** customizados para fornecer permissões diferenciadas para métodos HTTP específicos.\n- Desenvolvimento de **CRUD** inline, permitindo a manipulação de múltiplas entidades relacionadas em uma única requisição.\n- Renderização de templates HTML diretamente do backend para exibição de perfis e projetos de forma amigável ao usuário.\n\n---\n\n## Tecnologias Usadas\n\n- [Python](https://www.python.org/) - Linguagem de programação utilizada para desenvolver o backend da aplicação.\n- [Django](https://www.djangoproject.com/) - Framework web utilizado para estruturar a aplicação server-side.\n- [Django Rest Framework (DRF)](https://www.django-rest-framework.org/) - Extensão do Django utilizada para criar APIs RESTful.\n- [Simple JWT](https://django-rest-framework-simplejwt.readthedocs.io/en/latest/) - Biblioteca para autenticação baseada em tokens JWT no Django Rest Framework.\n- [MySQL](https://www.mysql.com/) -  Banco de dados relacional utilizado para armazenar as informações de perfis, projetos, certificados e instituições.\n- [HTML5](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5) - Linguagem de marcação utilizada para a construção das páginas web.\n- [CSS3](https://developer.mozilla.org/en-US/docs/Web/CSS) - Utilizado para estilização das páginas HTML e garantir uma interface visual atraente.\n- [Docker](https://www.docker.com/) - Utilizado para containerização da aplicação, facilitando o gerenciamento de ambientes de desenvolvimento e produção.\n\n\n\n## Entre em contato:\n\u003ca href=\"mailto:zazac3179@gmail.com\" target=\"_blank\"\u003e\n  \u003cimg align=\"center\" src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" alt=\"E-mail\" height=\"40\" width=\"auto\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.linkedin.com/in/isaque-s-oliveira/\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg\" alt=\"isaque oliveira\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://wa.me/5574981510614\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/whatsapp.svg\" alt=\"WhatsApp\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaque-s-0liveira%2Fsuper-portifolio-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisaque-s-0liveira%2Fsuper-portifolio-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaque-s-0liveira%2Fsuper-portifolio-python/lists"}