{"id":16786245,"url":"https://github.com/stefanosaffran/proffy","last_synced_at":"2025-04-10T23:05:26.479Z","repository":{"id":100319097,"uuid":"284690544","full_name":"StefanoSaffran/proffy","owner":"StefanoSaffran","description":"📚 Proffy - Developed during the event NLW 2.0 by @Rocketseat","archived":false,"fork":false,"pushed_at":"2023-12-15T02:58:05.000Z","size":752,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T23:05:21.282Z","etag":null,"topics":["backend","docker","frontend","mobile","nextlevelweek","nodejs","postgres","proffy","react-native","reactjs","rocketseat","teach","theme-switcher","typeorm","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/StefanoSaffran.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-03T12:11:26.000Z","updated_at":"2023-04-05T16:53:56.000Z","dependencies_parsed_at":"2024-10-13T08:11:50.440Z","dependency_job_id":"6243c9c9-6290-41c3-8d9f-a98106f7bd41","html_url":"https://github.com/StefanoSaffran/proffy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fproffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fproffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fproffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fproffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StefanoSaffran","download_url":"https://codeload.github.com/StefanoSaffran/proffy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248312145,"owners_count":21082638,"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":["backend","docker","frontend","mobile","nextlevelweek","nodejs","postgres","proffy","react-native","reactjs","rocketseat","teach","theme-switcher","typeorm","typescript"],"created_at":"2024-10-13T08:11:42.684Z","updated_at":"2025-04-10T23:05:26.457Z","avatar_url":"https://github.com/StefanoSaffran.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://res.cloudinary.com/stefanosaffran/image/upload/v1596482182/Omnistack/ykcfotyon6sacurdvht3.svg\" width=\"300px\"/\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003ch2 align=\"center\"\u003e\n   📚 NextLevelWeek 2.0 📚\n\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Project programing languages count\" src=\"https://img.shields.io/github/languages/count/StefanoSaffran/proffy?color=6842C2\"\u003e\n   \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/StefanoSaffran/proffy?color=6842C2\"\u003e\n  \u003cimg alt=\"Last commit on GitHub\" src=\"https://img.shields.io/github/last-commit/StefanoSaffran/proffy?color=6842C2\"\u003e\n  \u003cimg alt=\"Made by Stefano\" src=\"https://img.shields.io/badge/made%20by-StefanoSaffran-%20?color=6842C2\"\u003e\n  \u003cimg alt=\"Project top programing language\" src=\"https://img.shields.io/github/languages/top/StefanoSaffran/proffy?color=6842C2\"\u003e\n  \u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/StefanoSaffran/proffy?color=6842C2\"\u003e\n\u003c/p\u003e \n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#computer-project\"\u003eProject\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#rocket-built-with\"\u003eBuilt with\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#information_source-how-to-run\"\u003eHow to run\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#memo-license\"\u003eLicense\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#mailbox_with_mail-get-in-touch\"\u003eGet in touch\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://insomnia.rest/run/?label=Proffy\u0026uri=https%3A%2F%2Fgithub.com%2FStefanoSaffran%2Fproffy%2Fblob%2Fmaster%2FInsomnia_2020-08-05.json\" target=\"_blank\"\u003e\u003cimg src=\"https://insomnia.rest/images/run.svg\" alt=\"Run in Insomnia\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n  \u003ch2 align=\"center\"\u003e🚧 Under Construction 🚧\u003c/h2\u003e\n\n## :computer: Project \n\n Proffy is an application that aims helping to bring together people who need help in some subject with those who like to teach.\n\n \u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://res.cloudinary.com/stefanosaffran/image/upload/v1596876802/Omnistack/b0urvevadbrrf8kgiptx.gif\" \u003e\n\u003c/p\u003e\n\n ## :rocket: Built with\n\nThis project was developed with the following technologies:\n\n\u003cdetails\u003e\n  \u003csummary\u003eServer\u003c/summary\u003e\n\n-   [Node.js](https://nodejs.org/)\n-   [Express](https://expressjs.com/)\n-   [TypeORM](https://typeorm.io/)\n-   [Typescript](https://www.typescriptlang.org/)\n-   [TS-Node-Dev](https://www.npmjs.com/package/ts-node-dev)\n-   [Tsyringe](https://github.com/microsoft/tsyringe)\n-   [uuidv4](https://www.npmjs.com/package/uuidv4)\n-   [Cors](https://www.npmjs.com/package/cors)\n-   [ESLint](https://eslint.org/)\n-   [Prettier](https://prettier.io/)\n-   [VS Code](https://code.visualstudio.com/)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eWeb\u003c/summary\u003e\n\n-   [React](https://pt-br.reactjs.org/)\n-   [Typescript](https://www.typescriptlang.org/)\n-   [@unform](https://unform.dev/)\n-   [Styled Components](https://styled-components.com/)\n-   [Context API](https://reactjs.org/docs/context.html)\n-   [React-toggle](https://github.com/aaronshaf/react-toggle)\n-   [React-toastify](https://github.com/fkhadra/react-toastify)\n-   [Axios](https://www.npmjs.com/package/axios)\n-   [React Icons](https://react-icons.netlify.com/#/)\n-   [Yup](https://github.com/jquense/yup)\n-   [ESLint](https://eslint.org/)\n-   [Prettier](https://prettier.io/)\n-   [VS Code](https://code.visualstudio.com/)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMobile\u003c/summary\u003e\n\n-   [React](https://pt-br.reactjs.org/)\n-   [React Native](https://reactnative.dev/)\n-   [Expo](https://expo.io/learn)\n-   [Styled Components](https://styled-components.com/)\n-   [Typescript](https://www.typescriptlang.org/)\n-   [React Navigation](https://reactnavigation.org/)\n-   [Axios](https://www.npmjs.com/package/axios)\n-   [Expo Google Fonts](https://github.com/expo/google-fonts)\n-   [React Native Appearance](https://github.com/expo/react-native-appearance)\n-   [ESLint](https://eslint.org/)\n-   [Prettier](https://prettier.io/)\n-   [VS Code](https://code.visualstudio.com/)\n\n\u003c/details\u003e\n\n## :information_source: How to run\n\n### Requirements\n\nTo run the application you will need:\n* [Git](https://git-scm.com)\n* [Node](https://nodejs.org/)\n* [Yarn](https://yarnpkg.com/) \n\nI strongly recommend using [Docker](https://www.docker.com/) to run the databases.\n\u003cbr\u003e\nIf you decide to use docker, follow this steps to install and run the docker image.\n\n```bash\n# install Postgres image (if you don't specify an username it will be postgres by default)\n$ docker run --name imagename -e POSTGRES_PASSWORD=yourPassword -p 5432:5432 -d postgres\n\n# start Postgres\n$ docker start imageName\n\n```\n### Backend\n\nNow clone the repository and install the dependencies.\n```bash\n# to clone the repository\n$ git clone https://github.com/StefanoSaffran/proffy.git\n\n# go into the server folder\n$ cd proffy/server\n\n#install the backend dependencies\n$ yarn\n\n```\nIn order to connect to the database, you will need to enter the access informations into a ormconfig.json. You can find more about it [here](https://typeorm.io/#/using-ormconfig).\n\n```bash\n# run migrations\n$ yarn typeorm migration:run\n\n# run api\n$ yarn dev:server\n```\n\n### Frontend\n\n```bash\n# in another tab of the terminal install the web dependencies and run it \n$ cd web\n$ yarn\n$ yarn start\n```\n\n### Mobile\n\nThe Application was developed using Expo. It is a free and open source toolchain built around React Native to facilitate the process of running and testing applications. [Click here](https://expo.io/learn) to get start with Expo.\n\n```bash\n# install the dependencies\ncd mobile\nyarn\n```\n\nIn order to run the application on your device, you need to change the ip config.\n\n[api.ts](https://github.com/StefanoSaffran/proffy/blob/master/mobile/src/services/api.ts)\n```javascript\n  baseURL: 'http://192.168.0.185:3333',\n```\nreplace 192.168.0.185 with your machine's ip.\n\nNow with everything on place, run the application.\n\n```bash\n# to run the app\nyarn start\n```\n\nExpo will open a page in your browser, scan the QRcode on the page and wait for the app to load.\n\n\u003e The Application was developed and tested on Iphone 6s and Android Studio Emulator.\n\n## :memo: License\n\nThis project is under the MIT license. See the [LICENSE](https://github.com/StefanoSaffran/proffy/blob/master/LICENSE) for more information\n\n## :mailbox_with_mail: Get in touch!\n\n\u003ca href=\"https://stefanosaffran.com\" target=\"_blank\" \u003e\n  \u003cimg alt=\"Website - Stefano Saffran\" src=\"https://img.shields.io/badge/Website--%23F8952D?style=social\"\u003e\n\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://www.linkedin.com/in/stefanosaffran/\" target=\"_blank\" \u003e\n  \u003cimg alt=\"Linkedin - Stefano Saffran\" src=\"https://img.shields.io/badge/Linkedin--%23F8952D?style=social\u0026logo=linkedin\"\u003e\n\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"mailto:stefanoas@gmail.com\" target=\"_blank\" \u003e\n  \u003cimg alt=\"Email - Stefano Saffran\" src=\"https://img.shields.io/badge/Email--%23F8952D?style=social\u0026logo=gmail\"\u003e\n\u003c/a\u003e \n\n---\n\nMade with :coffee: and ❤️ by Stefano Saffran.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanosaffran%2Fproffy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanosaffran%2Fproffy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanosaffran%2Fproffy/lists"}