Projeto desenvolvido durante a Next Level Week #2 da Rocketseat.
Overview
O projeto Proffy é uma plataforma criada para conectar professores e alunos. Através da aplicação web e mobile os professores são capazes de oferecerem aulas, cadastrando a disciplina e os seus horários disponíveis e os alunos são capazes de encontrarem professores para determinada disciplina e horário.
Front-end
Web
O front-end web da plataforma foi desenvolvido com React, inicializado com Create React App, estilizado para ser responsivo e utilizando React Router DOM para que possibilite ser uma Single Page Application para uma melhor experiência do usuário final. Para mais detalhes veja o arquivo package.json no diretório web.
Mobile
O front-end mobile da plataforma foi desenvolvido com React Native em conjunto do Expo e utilizando pacotes como: React Navigation, Axios e outros. Para mais detalhes veja o arquivo package.json no diretório mobile.
Back-end
O back-end de ambas aplicações, web e mobile, foi desenvolvida com NodeJS e é uma API Rest. O banco de dados utilizado foi SQLite através do Knex. Para mais detalhes veja o arquivo package.json no diretório server.
As funcionalidades da API são:
- Criar nova conexão;
- Listar o total de conexões realizadas;
- Criar "aula";
- Listar aulas cadastradas;
- Filtrar por disciplina, dia da semana e horário.
Setup
Primeiramente, tenha o NodeJS instalado ou faça o download e a instalação. Com o NodeJS instalado, realize o download do projeto, abra o terminal no diretório desejado e para instalar o restante dos pacotes digite:
npm install
No diretório server
para criar o banco de dados padrão digite:
npm run knex:migrate
No diretório server
, web
e mobile
para inciar as aplicações digite:
npm start
O servidor estará executando em localhost:3333, a aplicação web abrirá em localhost:3000 e a aplicação mobile executará em localhost:19002. Para abrir a aplicação mobile em seu próprio dispositivo físico ou em algum emulador é preciso ter o aplicativo Expo instalado.
Next Steps
- Autenticação de usuários
- Recuperação de senhas
- Perfil do proffy
- Splash Screen no React Native com Expo
- Paginação na listagem de proffys
- Exibindo horários disponíveis dos proffys
- Salvando seus proffys favoritos
- Logout da aplicação
- Deploy da aplicação