This software is initially designed (it can change in the future) to help manage restaurants, cafeterias, coffee shops, and similar establishments.
This is very early stage, so changes will be constant
This is a monorepo managed by TurboRepo. This project uses GraphQL. This project uses pnpm This project uses SQLite for the time being. However, I'm not sure just yet about this, may change it to PostgreSQL in the future, idk.
- Electron
- Electron-Vite
- Jotai (state management)
- Tanstack Query
- BlueprintJS
- React Hook Form
- React Icons
- Axios
- TailwindCSS
- React Router
- i18next
- RemedaJS
- Zod
- optics-ts
- ts-pattern
- tinycolor2
These are the main libs, the other ones are mostly dependencies of the libs above.
The backend is a custom Express/GraphQL API.
- PothosGraphQL
- ExpressJS
- Prisma
- Zod
- tsyringe (providing a Prisma instance to resolvers)
- SpectaQL (automatically generate documentation with a single command)
- Install dependencies:
pnpm install
- Run migrations and seeds:
CD into the
api
folder under /apps/api
Run
pnpm dlx prisma migrate dev
Execute the seed command:
pnpm dlx prisma db seed
On the frontend you should be good to go, there's not much needed to setup there.
To run the project you have two options:
- Run the whole project at once using TurboRepo:
From the monorepo root folder (where you see the folders
apps
,packages
and the file.editorconfig
), runpnpm run dev
. TurboRepo should start both the backend and the frontend at the same time in develop mode.
- Run the apps separately:
You can use
pnpm run dev:api
andpnpm run dev:ui
to run the backend and frontend respectively on standalone mode