Uma aplicação que facilita o encontro entre alunos e professores particulares
Essa aplicação foi desenvolvida em uma NLW (Next Level Week) da Rocketseat, uma semana de imersão nas tecnologias JavaScript onde é desenvolvida uma aplicação de ponta a ponta (back-end, front-end e mobile). Ao final da semana foram passados desafios para incrementar a aplicação à uma versão 2.0. Esse projeto se trata da minha versão final da aplicação, tendo inclusive diferenças em relação ao que foi proposto. Me dediquei nesse projeto com o intuito de praticar meus conhecimentos na stack e acrescentar no meu portifólio.
Trata-se de uma plataforma para professores particulares se cadastrarem e alunos poderem entrar em contato. Quem tiver interesse em ensinar pode cadastrar sua "aula" informando uma breve descrição, as matérias que domina, o preço da sua hora/aula, o número de contato e quais horários tem disponíveis (dia da semana e hora). Quem tiver interesse em ter aulas pode filtrar os professores pela matéria, dia da semana e horário.
- Cadastro de usuário
- Autenticação
- Recuperação de senha (envio de e-mail)
- Edição de dados do usuário, incluindo senha
- Upload de foto de perfil do usuário
- Cadastro e edição de aula
- Listagem com filtro de todas as aulas cadastradas na plataforma
Realizei o deploy da aplicação no Heroku, você pode acessar através dessa url
Fiz a documentação no Insomnia e usei o insomnia-documenter para gerar a documentação. Ela pode ser acessada aqui
- express
- aws-sdk
- bcryptjs
- celebrate
- date-fns
- jsonwebtoken
- multer
- nodemailer
- pg
- typeorm
-
cd proffy-api
-
Instale as dependencias:
yarn install
-
Crie o arquivo com as credenciais da aws de acordo com o arquivo exemplo
awsconfig.example.json
. Ou veja aqui outras formas de configurar as credenciais da aws, se preferir -
Configure as variáveis ambientes (recomendo criar um arquivo
.env
) de acordo com o arquivo.env.example
-
Certifique-se de criar o banco no PostgreSQL de acordo com a configuração das variáveis ambiente. Ou veja aqui como configurar o TypeORM de outras formas, se preferir
-
Rode as migrations para criar as tabelas no banco de dados:
yarn typeorm migration:run
- Enfim, execute o server:
yarn dev:server
Realizei o deploy no Netlify, você pode acessar nesse link
- axios
- react-icons
- react-router-dom
- react-select
- react-spinners
- react-spring
- react-text-mask
- typescript
- yup
-
cd proffy-web
-
Instale as dependencias:
yarn install
-
Configure as variáveis ambientes (recomendo criar um arquivo
.env
) de acordo com o arquivo.env.example
-
Execute o projeto:
yarn start
Realizei o build do aplicativo no expo e você pode baixar o .apk neste link
- @expo/react-native-action-sheet
- @react-native-community/async-storage
- @react-native-community/datetimepicker
- @react-navigation/bottom-tabs
- @react-navigation/native
- @react-navigation/stack
- axios
- date-fns
- expo-image-picker
- react-native-modal
- yup
-
cd proffy-app
-
Instale as dependencias:
yarn install
-
Configure o expo, caso ainda não o tenha
-
Altere o
baseURL
para a url onde o servidor está rodando (./src/services/api.ts) -
Execute o projeto:
yarn android