{"id":15147520,"url":"https://github.com/kaje94/menufic","last_synced_at":"2025-04-05T18:05:41.127Z","repository":{"id":158700986,"uuid":"589479921","full_name":"kaje94/menufic","owner":"kaje94","description":"Create digital menus effortlessly with this restaurant menu generator. Built on the T3 stack (Next.js pages router, Prisma, PlanetScale, TRCP, NextAuth) for seamless functionality","archived":false,"fork":false,"pushed_at":"2024-10-11T12:11:14.000Z","size":7874,"stargazers_count":100,"open_issues_count":5,"forks_count":42,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-29T17:03:21.712Z","etag":null,"topics":["create-t3-app","imagekit","mantine","neondb","nextauth","nextauthjs","nextjs","nodejs","playwright","prisma","react","t3","t3-stack","trpc","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://menufic.com","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/kaje94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","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":"2023-01-16T08:11:52.000Z","updated_at":"2025-03-27T04:25:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"a37f9d8f-faee-40e9-b2b9-eab1c514b1f4","html_url":"https://github.com/kaje94/menufic","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/kaje94%2Fmenufic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaje94%2Fmenufic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaje94%2Fmenufic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaje94%2Fmenufic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaje94","download_url":"https://codeload.github.com/kaje94/menufic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378138,"owners_count":20929296,"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":["create-t3-app","imagekit","mantine","neondb","nextauth","nextauthjs","nextjs","nodejs","playwright","prisma","react","t3","t3-stack","trpc","typescript","vercel"],"created_at":"2024-09-26T12:41:57.397Z","updated_at":"2025-04-05T18:05:41.099Z","avatar_url":"https://github.com/kaje94.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\u003ch1 align=\"center\"\u003e \u003cb\u003eMenufic\u003c/b\u003e \u003c/h1\u003e \n\u003ch4 align=\"center\"\u003eA digital menu generator for restaurants, built using \u003ca href=\"https://create.t3.gg\" target=\"_blank\"\u003eT3 stack\u003c/a\u003e\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://gitter.im/Menufic/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\"\u003e\n    \u003cimg src=\"https://badges.gitter.im/Menufic/community.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://saythanks.io/to/a.kajendran\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://api.checklyhq.com/v1/badges/checks/b9184fcc-aba1-47be-ab53-6a6e44bfe47c?style=flat\u0026theme=default\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/kaje94/menufic/actions/workflows/checks.yml\"\u003e\n    \u003cimg src=\"https://github.com/kaje94/menufic/actions/workflows/checks.yml/badge.svg?branch=main\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/kaje94/menufic/actions/workflows/tests.yml\"\u003e\n    \u003cimg src=\"https://github.com/kaje94/menufic/actions/workflows/tests.yml/badge.svg?branch=main\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/component_measures?metric=Maintainability\u0026id=kaje94_menufic\"\u003e\n    \u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=kaje94_menufic\u0026metric=sqale_rating\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/component_measures?metric=bugs\u0026id=kaje94_menufic\"\u003e\n    \u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=kaje94_menufic\u0026metric=bugs\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/component_measures?metric=vulnerabilities\u0026id=kaje94_menufic\"\u003e\n    \u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=kaje94_menufic\u0026metric=vulnerabilities\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/component_measures?metric=code_smells\u0026id=kaje94_menufic\"\u003e\n    \u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=kaje94_menufic\u0026metric=code_smells\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/component_measures?metric=Reliability\u0026id=kaje94_menufic\"\u003e\n    \u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=kaje94_menufic\u0026metric=reliability_rating\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#introduction\"\u003eIntroduction\u003c/a\u003e •\n  \u003ca href=\"#prerequisite\"\u003ePrerequisite\u003c/a\u003e •\n  \u003ca href=\"#how-to-use\"\u003eHow To Use\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://menufic.com\"\u003e\n    \u003cimg alt=\"Menufic-Preview-Image\" src=\"public/menufic_banner.jpg\" width=\"1024\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cbr /\u003e\n\n## Introduction\n\n[Menufic](https://menufic.com) is a digital menu generator for restaurants that makes it simple and easy for anyone to create and share their restaurant menus. Menufic is built using [Next.js](https://nextjs.org), [NextAuth.js](https://next-auth.js.org), [Prisma](https://prisma.io), [tRPC](https://trpc.io), [Neon](https://neon.tech) \u0026 [Imagekit](https://imagekit.io). Following are some of the features that Menufic provides.\n\n-   Simple \u0026 intuitive UI to create \u0026 manage restaurant menus\n-   Generate menus that are optimized for search engines and social media crawlers\n-   Support for both light and dark themes\n-   Attach multiple banner images to menus\n-   Share generated menu using URL or QR code\n-   Responsive UI design that works well on all devices\n\n## Prerequisite\n\nGeneral:\n-   [Imagekit account](https://imagekit.io) for managing all the uploaded images.\n-   [Google](https://next-auth.js.org/providers/google) / [GitHub](https://next-auth.js.org/providers/github) for authenticating users\n\nBarebone Installation:\n-   [Git](https://git-scm.com)\n-   [Node.js 16+](https://nodejs.org/en/download/)\n-   [NPM 7+](http://npmjs.com)\n-   [PostgreSQL](https://www.postgresql.org/) for persisting data.\n\nDocker Installation:\n- Docker CE\n- Docker Compose\n\n## How To Use\n\n### Docker\n\n````\n# copy env file and adjust to your needs\ncp .env.example .env\n\n# spawn the docker stack\ndocker compose up\n````\n\nThe web application will be accessible on http://127.0.0.1:3000.\n\nIf you do not trust our externally hosted Docker Images, feel free to build the Docker Image locally yourself:\n\n````\ndocker build -t menufic .\n````\n\n### Barebone\n\nFrom your command line:\n\n```bash\n# Clone this repository\n$ git clone https://github.com/kaje94/menufic\n\n# Go into the repository\n$ cd menufic\n\n# Install dependencies\n$ npm install\n```\n\n\u003e You need to create a `.env` file at the root folder with the keys defined in `.env.example` before running any of the following commands.\n\nScripts related to the Next.js app:\n\n```bash\n# To migrate the Database (Make sure that you have a valid DATABASE_URL in your .env file). \n# This is needed if you are planning to run Menufic locally\n$ npx prisma db push\n\n# Start the app in development mode with hot-code reloading by running:\n$ npm run dev\n\n# Create an optimized production build of the application by running\n$ npm run build\n\n# After building the app start it in production mode by running:\n$ npm start\n```\n\nScripts related to linting and formatting:\n\n```bash\n# Check if there are any linting issues by running:\n$ npm run lint\n\n# Check \u0026 fix fixable linting issues by running:\n$ npm run lint:fix\n\n# Format other files types such as .json, .md \u0026 .css by running:\n$ npm run format-rest\n```\n\nScripts related to playwright tests:\n\u003e Before running playwright tests, make sure that you have added TEST_MENUFIC_USER_LOGIN_KEY and TEST_MENUFIC_BASE_URL to your .env file \n\n```bash\n# Start dev server(If its not already running) \u0026 run all e2e tests\n$ npm run test:e2e\n```\n\n\n## Contributing\n\nPlease refer the [Contributing.md](.github/CONTRIBUTING.md) in order to contribute towards this project\n\n## License\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n\u003e [a.kajendran@gmail.com](mailto:a.kajendran@gmail.com) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@kaje94](https://github.com/kaje94) \u0026nbsp;\u0026middot;\u0026nbsp;\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaje94%2Fmenufic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaje94%2Fmenufic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaje94%2Fmenufic/lists"}