/proffy-server

Parte do back-end do projeto Proffy desenvolvido na Next Level Week #02 da Rocketseat

Primary LanguageTypeScript

Proffy - Plataforma de estudos online

Projeto realizado durante a Next Level Week #02 da Rocketseat

☑️ Objetivos:

Eu desenvolvi esse projeto durante a Next Level Week #02 da Rocketseat, com o intuito de reforçar meus conhecimentos na stack React, React Native e NodeJS.

📖 Sobre:

A parte do back-end é responsável por fazer toda a regra de negócio da aplicação, ou seja, ela faz com que as funcionalidades presentes no front-web aconteçam, fornecendo e gravando os dados no banco. Atualmente é divida em dois controllers que são responsáveis por manipular os dados das conexões e das aulas.

Nas conexões, temos uma rota que salva uma conexão no banco de dados (toda vez que o usuário entra em contato com o professor pelo whatsapp) e outra que traz o número total de conexões já realizadas na aplicação.

Já nas aulas, temos uma rota de criação quando o professor envia o formulário no front-end com todas as informações necessárias e outra rota que traz todos os professores com suas aulas através de um filtro fornecido com as informações de matéria, dia da semana e horário.

🎓 Aplicação de conhecimentos:

  • Reforço de conhecimentos sobre o NodeJS
  • Uso do TypeScript
  • Criação de api seguindo as melhores práticas
  • Utilização do banco SQLite3
  • Uso do Knex.js para manipulação do banco de dados

🚀 Tecnologias:

  • NodeJS
  • TypeScript

🖥️ Como executar:

Clone o repositório com:

git clone https://github.com/guihRovetta/proffy-server.git

Para baixar as dependências e instalar, utilize o comando na raiz do projeto:

yarn

Execute o comado para realizar a migrate no banco:

yarn knex:migrate

Execute o comado para dar o rollback no banco:

yarn knex:migrate:rollback

Para rodar o projeto, execute:

yarn start

Vale a pena notar também que nessa aplicação está sendo utilizada a porta 3333 do locahost.

🆕 Novas funcionalidades:

  • Autenticação de usuários
  • Recuperação de senhas
  • Exibição e edição de perfil do professor
  • Paginação na listagem de professores
  • Salvar professores favoritos
  • Deploy da aplicação