Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kaje94/menufic
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
https://github.com/kaje94/menufic
create-t3-app imagekit mantine neondb nextauth nextauthjs nextjs nodejs playwright prisma react t3 t3-stack trpc typescript vercel
Last synced: 26 days ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/kaje94/menufic
- Owner: kaje94
- License: mit
- Created: 2023-01-16T08:11:52.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-13T01:55:31.000Z (6 months ago)
- Last Synced: 2024-09-27T12:42:03.629Z (about 1 month ago)
- Topics: create-t3-app, imagekit, mantine, neondb, nextauth, nextauthjs, nextjs, nodejs, playwright, prisma, react, t3, t3-stack, trpc, typescript, vercel
- Language: TypeScript
- Homepage: https://menufic.com
- Size: 7.51 MB
- Stars: 77
- Watchers: 4
- Forks: 28
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Menufic
A digital menu generator for restaurants, built using T3 stack
Introduction •
Prerequisite •
How To Use •
Contributing •
License
## Introduction
[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) & [Imagekit](https://imagekit.io). Following are some of the features that Menufic provides.
- Simple & intuitive UI to create & manage restaurant menus
- Generate menus that are optimized for search engines and social media crawlers
- Support for both light and dark themes
- Attach multiple banner images to menus
- Share generated menu using URL or QR code
- Responsive UI design that works well on all devices## Prerequisite
General:
- [Imagekit account](https://imagekit.io) for managing all the uploaded images.
- [Google](https://next-auth.js.org/providers/google) / [GitHub](https://next-auth.js.org/providers/github) for authenticating usersBarebone Installation:
- [Git](https://git-scm.com)
- [Node.js 16+](https://nodejs.org/en/download/)
- [NPM 7+](http://npmjs.com)
- [PostgreSQL](https://www.postgresql.org/) for persisting data.Docker Installation:
- Docker CE
- Docker Compose## How To Use
### Docker
````
# copy env file and adjust to your needs
cp .env.example .env# spawn the docker stack
docker compose up
````The web application will be accessible on http://127.0.0.1:3000.
If you do not trust our externally hosted Docker Images, feel free to build the Docker Image locally yourself:
````
docker build -t menufic .
````### Barebone
From your command line:
```bash
# Clone this repository
$ git clone https://github.com/kaje94/menufic# Go into the repository
$ cd menufic# Install dependencies
$ npm install
```> 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.
Scripts related to the Next.js app:
```bash
# To migrate the Database (Make sure that you have a valid DATABASE_URL in your .env file).
# This is needed if you are planning to run Menufic locally
$ npx prisma db push# Start the app in development mode with hot-code reloading by running:
$ npm run dev# Create an optimized production build of the application by running
$ npm run build# After building the app start it in production mode by running:
$ npm start
```Scripts related to linting and formatting:
```bash
# Check if there are any linting issues by running:
$ npm run lint# Check & fix fixable linting issues by running:
$ npm run lint:fix# Format other files types such as .json, .md & .css by running:
$ npm run format-rest
```Scripts related to playwright tests:
> Before running playwright tests, make sure that you have added TEST_MENUFIC_USER_LOGIN_KEY and TEST_MENUFIC_BASE_URL to your .env file```bash
# Start dev server(If its not already running) & run all e2e tests
$ npm run test:e2e
```## Contributing
Please refer the [Contributing.md](.github/CONTRIBUTING.md) in order to contribute towards this project
## License
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
> [[email protected]](mailto:[email protected]) ·
> GitHub [@kaje94](https://github.com/kaje94) ·