{"id":15316945,"url":"https://github.com/mateusfg7/proffy","last_synced_at":"2025-04-15T02:22:49.007Z","repository":{"id":47812693,"uuid":"284782932","full_name":"mateusfg7/Proffy","owner":"mateusfg7","description":":busts_in_silhouette: Plataforma de estudos online, onde é possível conectar alunos com professores. Este é um projeto que foi desenvolvido durante a Next Level Week #2 da @Rocketseat, durante os dias 3 à 7 de agosto de 2020.","archived":false,"fork":false,"pushed_at":"2021-08-12T20:16:04.000Z","size":9230,"stargazers_count":12,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T14:11:09.583Z","etag":null,"topics":["expo","knexjs","nlw","nlw-2","nlw-booster","nodejs","proffy","react","react-native","rocketseat","sqlite3","styled-components","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mateusfg7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-03T18:57:51.000Z","updated_at":"2021-07-24T15:19:30.000Z","dependencies_parsed_at":"2022-09-04T11:42:43.803Z","dependency_job_id":null,"html_url":"https://github.com/mateusfg7/Proffy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusfg7%2FProffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusfg7%2FProffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusfg7%2FProffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusfg7%2FProffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mateusfg7","download_url":"https://codeload.github.com/mateusfg7/Proffy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248992037,"owners_count":21194987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["expo","knexjs","nlw","nlw-2","nlw-booster","nodejs","proffy","react","react-native","rocketseat","sqlite3","styled-components","typescript"],"created_at":"2024-10-01T08:55:10.248Z","updated_at":"2025-04-15T02:22:48.991Z","avatar_url":"https://github.com/mateusfg7.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- VARS --\u003e\n\n[logo-url]: https://camo.githubusercontent.com/74c8681f6d4521903b63e79173a72f0b849243be/68747470733a2f2f692e696d6775722e636f6d2f73356c546465502e706e67\n[web-badge]: https://img.shields.io/badge/WEB-6842C2?logo=typescript\u0026logoColor=47248F\u0026label=Proffy\u0026labelColor=6842C2\u0026style=for-the-badge\n[backend-badge]: https://img.shields.io/badge/BACKEND-04D361?logo=Node.js\u0026logoColor=03A14A\u0026label=Proffy\u0026labelColor=04D361\u0026style=for-the-badge\n[mobile-badge]: https://img.shields.io/badge/MOBILE-494949?logo=react\u0026logoColor=161616\u0026label=Proffy\u0026labelColor=494949\u0026style=for-the-badge\n\n\u003c!-- VARS --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# ![Proffy][logo-url]\n\n### Plataforma de estudos online, onde é possivel conectar alunos com professores.\n\n[![web][web-badge]](#desktop_computer-web)\n[![backend][backend-badge]](#globe_with_meridians-server)\n[![mobile][mobile-badge]](#iphone-mobile)\n\n![](.github/docs/img/landing.svg)\n\n\u003c/div\u003e\n\n---\n\nO Proffy é um projeto que esta sendo desenvolvido durante a **Next Level Week #2** da [@Rocketseat](https://github.com/Rocketseat), durante os dias _3 à 7 de Agosto de 2020_.\n\nEste projeto esta sendo codado na trilha OmniStack, que desenvolve a stack JavaScript completa, do zero, criando as versões Web, Mobile e Back-End da aplicação.\n\n\u003e [Anotações - NOTES.md](NOTES.md)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n# :desktop_computer: _**WEB**_\n[![LAYOUT WEB](https://img.shields.io/badge/Layout%20Web-black?style=for-the-badge\u0026logo=figma\u0026logoColor=red)](https://www.figma.com/file/GHGS126t7WYjnPZdRKChJF/Proffy-Web?node-id=27%3A1703)\n\n\u003c/div\u003e\n\nA versão web da aplicação fei desenvolvida usando a metodologia _mobile first_, em que a aplicação é pensada primeiramente para dispositivos mobile, e depois é adaptada para dispositivos desktops.\n\nFoi usada as tecnologias [**React**](https://reactjs.org/) e [**Typescript**](https://www.typescriptlang.org/) para o desenvolvimento da aplicação web.\n\n\u003cimg src=\".github/docs/screenshots/web/home.png\" width=\"800\" /\u003e\n\n\u003cimg src=\".github/docs/screenshots/web/study.png\" width=\"400\" height=\"500\" /\u003e \u003cimg src=\".github/docs/screenshots/web/cadastro.png\" width=\"400\" height=\"500\" \u003e\n\n\u003e O código fonta da aplicação web esta na pasta\n\n## :arrow_forward: **Getting Started**\n\nEntre na pasta [`web/`](web/) e execute os seguintes comandos:\n\n_com **npm**_\n\n```bash\n# Instalar dependências\n$ npm install\n\n# Iniciar servidor de desenvolvimento\n$ npm start\n```\n\n_com **yarn**_\n\n```bash\n# Instalar dependências\n$ yarn\n\n# Iniciar servidor de desenvolvimento\n$ yarn start\n```\n\n\u003e O servidor de desenvolvimento fica aberto por padrão em [`http://localhost:3000`](http://localhost:3000)\n\nGerar código de produção\n\n_com **npm**_\n\n```bash\n$ npm build\n```\n\n_com **yarn**_\n\n```bash\n$ yarn build\n```\n\n\u003e O código fica salvo em [`build/`](web/build)\n\n\u003cdiv align=\"center\"\u003e\n\n# :iphone: _**Mobile**_\n[![LAYOUT MOBILE](https://img.shields.io/badge/Layout%20Mobile-black?style=for-the-badge\u0026logo=figma\u0026logoColor=red\")]()\n\n\u003c/div\u003e\n\nO aplicação mobile foi desenvolvida usando o framework [**React Native**](https://reactnative.dev/) com [**Typescript**](https://www.typescriptlang.org/), e a _SDK 38_ da ferramenta [**Expo**](https://expo.io/).\n\nHome | Study | Favorites\n---|---|---\n| ![home](.github/docs/screenshots/mobile/home.png) | ![study](.github/docs/screenshots/mobile/study.png) | ![favorites](.github/docs/screenshots/mobile/favorites.png) |\n\n## :arrow_forward: **Getting Started**\n\nEntre na pasta [`mobile/`](mobile/) e execute os seguintes comandos:\n\n_com **npm**_\n\n```bash\n# Instalar expo-cli globalmente\n$ npm install expo-cli --global\n\n# Instalar dependências\n$ npm install\n\n```\n\n_com **yarn**_\n\n```bash\n# Instalar expo-cli globalmente\n$ yarn global add expo-cli\n\n# Instalar dependências\n$ yarn\n\n```\n\nIniciar DevTools do expo\n\n```bash\n$ expo start\n```\n\n\u003e O DevTools do Expo fica aberto por padrão em [`http://localhost:19002`](http://localhost:19002)\n\n\u003cdiv align=\"center\"\u003e\n\n# :globe_with_meridians: _**Server**_\n\n\u003c/div\u003e\n\nO servidor da aplicação foi desenvolvido seguindo a metodologia _API Rest_ para poder ser reaproveitada tanto na web quando em dispositivos mobile.\n\nFoi usada as tecnologias [**NodeJS**](https://nodejs.org/) com [**Typescript**](https://www.typescriptlang.org/), banco de dados [**SQLite3**](https://sqlite.org/) com query builder [**Knex**](http://knexjs.org/), e o framework [**Express**](http://expressjs.com/), no desenvolvimento da API Rest.\n\n## :pencil2: Funcionalidades\n\n### Conexões\n\n- _Rota para lista o total de conexões realisadas._\n- _Rota para criar uma nova conexão._\n\n### Aulas\n\n- _Rota para criar uma aula._\n- _Rota para listar aulas._\n  - _Filtrar por matéria, dia da semana, e horário._\n\n## :arrow_forward: **Getting Started**\n\nEntre na pasta [`server/`](server/) e execute os seguintes comandos:\n\n_com **npm**_\n\n```bash\n# Instalar dependências\n$ npm install\n\n# Criar database\n$ npm knex:migrate\n\n# Iniciar servidor\n$ npm start\n```\n\n_com **yarn**_\n\n```bash\n# Instalar dependências\n$ yarn\n\n# Criar banco de dados\n$ yarn knex:migrate\n\n# Iniciar servidor de desenvolvimento\n$ yarn start\n```\n\n\u003e O Banco de Dados fica salvo em [`src/database/database.sqlite`](src/database/database.sqlite)\n\n\u003e O endereço padrão do servidor Node é [`http://localhost:3333`](http://localhost:3333)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://reactjs.org/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ffacebook.github.io%2Freact%2Ffavicon.ico\u0026f=1\u0026nofb=1\" width=\"30\" height=\"30\"\u003e\u003c/a\u003e\n\u003ca href=\"https://reactnative.dev/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fangular.github.io%2Freact-native-renderer%2Fassets%2Freact.png\u0026f=1\u0026nofb=1\" width=\"30\" height=\"30\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.typescriptlang.org/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fwww.software-architects.com%2Fcontent%2Fimages%2Fblog%2F2016%2F12%2Ftypescript-logo.png\u0026f=1\u0026nofb=1\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://sqlite.org/index.html\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F9%2F97%2FSqlite-square-icon.svg%2F256px-Sqlite-square-icon.svg.png\u0026f=1\u0026nofb=1\" width=\"40\" height=\"30\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://nodejs.org/en/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fd2eip9sf3oo6c2.cloudfront.net%2Ftags%2Fimages%2F000%2F000%2F256%2Ffull%2Fnodejslogo.png\u0026f=1\u0026nofb=1\" width=\"40\" height=\"30\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://reactnavigation.org/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Favatars0.githubusercontent.com%2Fu%2F29647600%3Fs%3D200%26v%3D4\u0026f=1\u0026nofb=1\" width=\"40\" height=\"30\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://expo.io/\"\u003e\u003cimg src=\"https://res.cloudinary.com/practicaldev/image/fetch/s--OK5nAo07--/c_imagga_scale,f_auto,fl_progressive,h_900,q_auto,w_1600/https://dev-to-uploads.s3.amazonaws.com/i/rmqgubejyi0rjkn87moo.png\" width=\"80\" height=\"30\"\u003e\u003c/a\u003e\n\u003ca href=\"https://knexjs.org/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fknexjs.org%2Fassets%2Fimages%2Fknex.png\u0026f=1\u0026nofb=1\" width=\"80\" height=\"30\" /\u003e\u003c/a\u003e\n\u003ca href=\"http://expressjs.com/\"\u003e\u003cimg src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fgeekflare.com%2Fwp-content%2Fuploads%2F2019%2F04%2Fexpress-routing-logo-65137ed3c844d05124dcfdab28263c21-ec9c1-e1554576195344.png\u0026f=1\u0026nofb=1\" width=\"80\" height=\"30\" /\u003e\u003c/a\u003e\n\n\n\u003ctable\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003eCoded By\u003c/td\u003e\u003ctd\u003eInstrutor\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/mateusfg7\"\u003e\n        \u003cimg src=\"https://avatars1.githubusercontent.com/u/40613276?v=4\" width \n        =\"100\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/diego3g\"\u003e\n        \u003cimg src=\"https://avatars2.githubusercontent.com/u/2254731?v=4\" width \n        =\"100\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateusfg7%2Fproffy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateusfg7%2Fproffy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateusfg7%2Fproffy/lists"}