Início Profile Projeto
Avatar de

Carlos Emanuel Amorim Goncalves

Adopet - Challenge Back-end Alura

  • Node.js
  • Sequelize
  • MySQL
  • JavaScript

Adopet: site de adoção | 6º Challenge Back-end Alura

Read it in English

Olá, devs!

A AdoPet é uma empresa fictícia que funciona como intermediária entre adotantes de pets e ONGs com foco em retirar animais das ruas. A proposta da AdoPet é trazer mais usuários e aumentar a interação entre possíveis adotantes e representantes dessas ONGs e para isso, o objetivo do projeto é implementar uma plataforma e levar a empresa pro mundo digital.

Este projeto foi desenvolvido como resultado de um Desafio Back-End (6ª edição) exclusivo para alunos da escola de tecnologia Alura. Foi meu primeiro projeto Back-End desenvolvido como forma de praticar os conceitos e habilidades que adquiri nos planos de estudo para desenvolver o projeto em 4 semanas. Além disso, outro aspecto importante do projeto foi a segurança. Aprendi a implementar autenticação e autorização usando tokens JWT (JSON Web Tokens) para proteger as rotas e garantir que apenas usuários autenticados tivessem acesso a recursos sensíveis.

O projeto Front-End Adopet foi desenvolvido pela @sucodelarangela, também por um Challenge da Alura.

Você pode saber um pouco mais como funcionam os challenges da Alura visitando a seção 🦾 Sobre o desafio.

🪧 Vitrine.Dev
✨ Nome Adopet - Challenge Back-end Alura
🏷️ Tecnologias Node.js, Sequelize, MySQL, JavaScript
🚀 URL Acesse o site. Veja os dados de login no item ⚙️ Como usar
🔥 Desafio Protótipo do Figma
⚙️ API Veja os detalhes da API no item ⚙️ Sobre a API
⚙️ API Confira a API em: API

Detalhes do projeto

⚙️ Como usar

  • Acesse o site: https://adopet-react.vercel.app/

  • Para fazer o login na página, utilize os seguintes dados:

    E-mail: [email protected]

    Senha: 142536Aa@

🦾 Sobre o desafio

O Desafio simula um ambiente de trabalho real, com tarefas exigidas pelos tutores por meio de cartões no Trello. É necessário comunicar-se e entender o que os tutores realmente querem de cada tarefa, podemos escolher a tecnologia que desejarmos para desenvolver o código. Podemos, também, adicionar recursos e sugerir modificações.

Não há aulas específicas para o desafio, por isso devemos desenvolver com o conhecimento que temos. Os instrutores preparam um plano de estudos com dicas de conhecimentos que podemos precisar caso precisemos fazer algo e não saibamos exatamente como fazer, mas é nossa responsabilidade buscar e trocar informações com outros desenvolvedores para realizar o trabalho.

📈 Etapas do projeto

  • Semana 1: Criação de API e integração com Banco de Dados. Para isso decidi escolher o Node.js, que está sendo o foco atual dos meus estudos.
  • Semana 2: Relacionamento entre entidades, Manipulação de Banco de Dados e Engenharia de Software.
  • Semana 3: Funcionalidades de login e segurança, Definição de rotas protegidas, Roles e Permissões,
  • Semana 4: Autenticação, Integração Front-End com o Back-End, Testes e2e.
  • Semana 5 (Extra): Alterações no Front-end, validando cadastros, deploy.

⚙️ Sobre a API

  • CRUD Completo.
  • Middleware: Passport, Redis, Permissões e Roles.
  • AcessToken & RefreshToken, allowlist e blocklist.
  • Validação de cadastro & Redefinição de senha, Rota personalizada para role especifica (Abrigos).

🔼 Voltar ao topo


English version

🔎 Overview

Hello, devs!

AdoPet is a pseudo company which acts as an intermediary between animal adopters and NGOs that focus on removing animals from the streets. The purpose of AdoPet is to attract users and increase interaction between adopters and representatives of these NGOs.

This project was developed as a result of a Back-End Challenge (6th edition) exclusive to students at the technology school Alura. It was my first Back-End project developed as a way to practice the concepts and skills I acquired in the study plans to develop the project in 4 weeks. Furthermore, another important aspect of the project was security. Learn how to implement authentication and authorization using JWT tokens (JSON Web Tokens) to secure routes and ensure that only authenticated users have access to sensitive resources.

The Front-End project Adopet was developed by @sucodelarangela, also by a Desafio da Alura.

You can find out a little more about how Alura's challenges work by visiting the 🦾 About the challenge section.

🪧 Showcase.Dev
✨ Name Adopet - Alura Back-end Challenge
🏷️ Technologies Node.js, Sequelize, MySQL, Docker, JavaScript
🚀URL Access the website. See the login details in the item ⚙️ How to use
🔥 Challenge Figma Prototype

##Project details

⚙️ How to use

  • Access the website: https://adopet-react.vercel.app/

  • To log in to the page, use the following data:

    > Email: [email protected]
    >
    > Password: 142536Aa@
    

🦾 About the challenge

The Challenge simulates a real work environment, with tasks performed by tutors using Trello cards. It is necessary to communicate and understand that the tutors really want each task, we can choose the technology we want to develop the code. We can also add features and suggest modifications.

There are no specific classes for the challenge, so we must develop with the knowledge we have. Instructors prepare a study plan with knowledge tips that we may need to do something precise and not know exactly how to do, but it is our responsibility to seek and exchange information with other developers to carry out the work.

📈 Project steps

  • Week 1: Creation of API and integration with Database. To do this, I decided to choose Node.js, which is the current focus of my studies.
  • Week 2: Relationship between entities, Database Manipulation and Software Engineering.
  • Week 3: Login and security features, Defining protected routes, Roles and Permissions,
  • Week 4: Authentication, Front-End Integration with Back-End, e2e Testing.
  • Week 5 (Extra): Changes to the Front-end, validating registrations, deployment.

⚙️ About the API

  • Complete CRUD.
  • Middleware: Passport, Redis, Permissions and Roles.
  • AccessToken & RefreshToken, allowlist and blocklist.
  • Registration validation & Password reset, Customized route for specific role (Shelters).

🔼 Back to top


Developed with 🧡 by @Carlos

Veja meu projeto em: https://github.com/end223/Adopet