{"id":13559061,"url":"https://github.com/nainarazz/gourmetic","last_synced_at":"2025-04-03T14:31:04.460Z","repository":{"id":37734430,"uuid":"179990432","full_name":"nainarazz/gourmetic","owner":"nainarazz","description":"Have you ever run out of ideas on what to cook on your next meal? Gourmetic is a simple food recipe app that can help you find a recipe for your next meal.","archived":false,"fork":false,"pushed_at":"2022-12-22T12:46:00.000Z","size":4228,"stargazers_count":3,"open_issues_count":25,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-11-04T10:43:45.261Z","etag":null,"topics":["auth0","codegen","cooking","express","graphql","mongodb","monorepo","nextjs","oauth2","progressive-web-app","react","responsive-design","styled-components","typescript"],"latest_commit_sha":null,"homepage":"https://gourmetic.nainarazz.now.sh","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/nainarazz.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":"2019-04-07T16:10:32.000Z","updated_at":"2023-03-09T03:28:07.000Z","dependencies_parsed_at":"2023-01-30T09:16:24.651Z","dependency_job_id":null,"html_url":"https://github.com/nainarazz/gourmetic","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/nainarazz%2Fgourmetic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nainarazz%2Fgourmetic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nainarazz%2Fgourmetic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nainarazz%2Fgourmetic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nainarazz","download_url":"https://codeload.github.com/nainarazz/gourmetic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247018331,"owners_count":20869994,"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":["auth0","codegen","cooking","express","graphql","mongodb","monorepo","nextjs","oauth2","progressive-web-app","react","responsive-design","styled-components","typescript"],"created_at":"2024-08-01T12:05:19.223Z","updated_at":"2025-04-03T14:31:03.764Z","avatar_url":"https://github.com/nainarazz.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","graphql"],"sub_categories":[],"readme":"Gourmetic is a simple side project I have worked on to help me find food to cook. I have had the problem of not knowing what to cook for breakfast, lunch, or supper. Sometimes, I would just repeat the same food multiple times during the week. I have tried looking for recipes online and also used other apps, but they seem to be a little complicated for me. So I decided to create an app for myself.\n\nAs it is still a work in progress, here are some of the functionalites at the moment:\n\n- viewing, creating and deleting recipes\n- liking a recipe\n- viewing your created and liked recipes\n- viewing your profile information\n\nTo be added in the future:\n\n- sharing recipe on social media\n- commenting on recipes\n- menu planner\n\nI hope someone will find it useful.\n\n### Technologies\n\nGourmetic uses a monorepo architecture. The backend code can be found in the api directory, while the front end code is in the /src directory. The project is fullstack Javascript.\n\nHere is a list of some of the technologies used:\n\n- **Typescript**: Type-safe JavaScript\n- **Next.js**: Frontend React app\n- **GraphQL**: API, using Apollo toolchain\n- **Codegen**: used for giving types to graphql resolvers in the backend\n- **MongoDb**: Data storage\n- **Auth0**: Authenticaion\n- **Now Zeit**: deployment\n- **Sentry**: for error tracking\n\nSome of the tools used to improve code quality and style are:\n\n- **Prettier**\n- **TSLint**\n\n### First Time Setup\n\n#### Clone\n\nFirst, clone the repository.\nusing https:\n\n```sh\nhttps://github.com/nainarazz/gourmetic.git\n```\n\nusing ssh:\n\n```sh\ngit@github.com:nainarazz/gourmetic.git\n```\n\n#### Install Dependencies\n\nThen install all dependencies. From the root folder, run `yarn install`.\n\nTo run the backend API, create a .env file in the /api directory and add `MONGO_URL=localhost`. You can change localhost to any url that points to your MongoDb database. You can use a cloud like MLab, or you can set up a local mongodb in your machine.\n\nYou can also seed recipes collection in database by running `yarn seed`.\n\n### Running App Locally\n\n#### Frontend\n\nTo run the front end, open a terminal and run the command `yarn dev:web`.\n\n#### Backend\n\nThe command to start the server is `yarn dev:api`.\n\n### Backend Resolver Types\n\nTo add typings to the graphql resolvers in the backend api, you can run the command `yarn generate-types`. You can use the generated types for Typescript.\n\n### Development Environment\n\nWhen developing and testing locally, you will not be able to upload photos online to Cloudinary. It will only be available in production mode.\n\n## License\n\nMIT, see the [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnainarazz%2Fgourmetic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnainarazz%2Fgourmetic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnainarazz%2Fgourmetic/lists"}