{"id":21424269,"url":"https://github.com/lucasbecker/proffy","last_synced_at":"2026-04-16T05:02:31.905Z","repository":{"id":38859427,"uuid":"284789107","full_name":"lucasbecker/proffy","owner":"lucasbecker","description":"Projeto desenvolvido durante a Next Level Week #2 da Rocketseat utilizando React, React Native, Expo e NodeJS.","archived":false,"fork":false,"pushed_at":"2023-01-11T03:32:35.000Z","size":3289,"stargazers_count":0,"open_issues_count":27,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T20:45:29.376Z","etag":null,"topics":["api-restfull","knex","node","react","react-native","sqlite","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasbecker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-03T19:29:40.000Z","updated_at":"2020-10-16T21:36:04.000Z","dependencies_parsed_at":"2023-02-09T00:45:43.125Z","dependency_job_id":null,"html_url":"https://github.com/lucasbecker/proffy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lucasbecker/proffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasbecker%2Fproffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasbecker%2Fproffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasbecker%2Fproffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasbecker%2Fproffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasbecker","download_url":"https://codeload.github.com/lucasbecker/proffy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasbecker%2Fproffy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31872036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api-restfull","knex","node","react","react-native","sqlite","typescript"],"created_at":"2024-11-22T21:20:39.269Z","updated_at":"2026-04-16T05:02:31.886Z","avatar_url":"https://github.com/lucasbecker.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cdiv\u003e\n        \u003cimg alt=\"Logo da plataforma Proffy\" width=\"50%\" src=\"logo.svg\"/\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n\n\u003e Projeto desenvolvido durante a Next Level Week #2 da [Rocketseat](https://rocketseat.com.br/).\n\n## Overview\nO 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.\n\n## Front-end\n### Web\n\u003cdiv align=\"center\" \u003e\n    \u003cdiv\u003e\n        \u003cimg alt=\"Logo da plataforma Proffy\" width=\"100%\" src=\"web.svg\"/\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n\nO 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](https://github.com/lucasbecker/proffy/blob/master/web/package.json) no diretório web.\n\n### Mobile\n\u003cdiv align=\"center\"\u003e\n    \u003cdiv\u003e\n        \u003cimg alt=\"Logo da plataforma Proffy\" width=\"100%\" src=\"mobile.svg\"/\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n\nO 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](https://github.com/lucasbecker/proffy/blob/master/mobile/package.json) no diretório mobile.\n\n## Back-end\nO 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](https://github.com/lucasbecker/proffy/blob/master/server/package.json) no diretório server.\n\nAs funcionalidades da API são:\n* Criar nova conexão;\n* Listar o total de conexões realizadas;\n* Criar \"aula\";\n* Listar aulas cadastradas;\n  * Filtrar por disciplina, dia da semana e horário.\n\n## Setup\nPrimeiramente, tenha o [NodeJS](https://nodejs.org/) 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:\n```sh\n    npm install\n```\nNo diretório `server` para criar o banco de dados padrão digite:\n```sh\n    npm run knex:migrate\n```\nNo diretório `server`, `web` e `mobile` para inciar as aplicações digite:\n```sh\n  npm start\n```\nO servidor estará executando em [localhost:3333](http://localhost:3333), a aplicação web abrirá em [localhost:3000](http://localhost:3000) e a aplicação mobile executará em [localhost:19002](http://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.\n\n## [Next Steps](https://www.notion.so/Vers-o-2-0-Proffy-eefca1b981694cd0a895613bc6235970)\n- [ ] Autenticação de usuários\n- [ ] Recuperação de senhas\n- [ ] Perfil do proffy\n- [ ] Splash Screen no React Native com Expo\n- [ ] Paginação na listagem de proffys\n- [ ] Exibindo horários disponíveis dos proffys\n- [ ] Salvando seus proffys favoritos\n- [ ] Logout da aplicação\n- [ ] Deploy da aplicação\n\n## License\n[MIT License](./LICENSE) | [Rocketseat](https://rocketseat.com.br/) | [Lucas Becker](http://lucasbecker.github.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasbecker%2Fproffy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasbecker%2Fproffy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasbecker%2Fproffy/lists"}