Modern order management system built with the latest tech stack.
- orders + customers CRUD
- forms, lists
- validations
- frontend localization
- deployment setup
- TypeScript
- React
- GraphQL
- Prisma (v3)
- NexusJS
- Apollo Micro Server (serverless)
- Apollo Client
- Formik
- styled-components
- Ant Design
- ESLint, Prettier
🌍 Visit http://mayoor.vercel.app/ - and log in with username: admin
, password: admin
- installed Node.js v20 (includes NPM)
- basic knowledge of Git
- MongoDB url (recommended hosting on MongoDB Atlas - free tier is enough)
Clone this repository:
git clone https://github.com/rostaklein/mayoor
-
Install dependencies
npm i
post install hook will make sure it generates all the necessary types - Prisma and Nexus for backend development + Apollo (graphql-codegen) for FE development -
Edit environment variables
- copy
.env.example
into.env
andprisma/.env.example
intoprisma/.env
- fill in with requried info (client secret nad prisma DB url - you can host MongoDB on your own, but strongly recommended to use the hosted Atlas version)
-
Run locally via
npm run dev
-
Done. Profit 🎉
- frontend should be running at http://localhost:3000
- GraphQL API running at http://localhost:3000/api/graphql
- this app is ready to be deployed immediately to Vercel
- GraphQL server works via serverless functions
- just link your GitHub repo with Vercel and let them do all the necessary stuff (dont forget to add environment variables via Vercel project settings)
The main motivation is to provide a codebase for an order management system that you can build on top of.
This project was built with a main focus as a support software for a company that prints PVC banners etc. Thats the reason why you might find some business specific pieces of code. The company is based in Czechia 🇨🇿, thats also the reason why the default currency is CZK and there are Czech translations.
Also this project is a result of my masters thesis on the University of Economics in 2020 👨🎓
MIT
Rostislav Klein - mayoor - manage your orders - 2020