A production-ready Point-of-Sale API starter built with Fastify, Sequelize ORM, and MySQL. Perfect for developers looking to quickly bootstrap a retail or restaurant POS system with essential commerce features.
- User Authentication - JWT-based registration and login system
- Product Management - Full CRUD operations for inventory management
- Upselling System - Link products as upsell recommendations
- Transaction Processing - Create and track sales transactions
- RESTful API - Clean, documented endpoints ready for frontend integration
- Database Ready - Pre-configured MySQL schema and migrations
Ideal for building retail systems, restaurant ordering platforms, or any commerce application requiring transaction management.
Please note, this README does not include the installation and setup of a local MySQL server.
Clone the munchies repo:
git clone https://github.com/codecventer/munchies.gitInstall munchies with npm:
cd munchies
npm iRun the provided SQL script, located at assets/Munchies_DB_Script.sql, in your running local MySQL server.
- Rename the
example.envfile to.env - Inside, replace the string value of the
DB_CONNECTION_STRINGvariable with your own connection string
Run the munchies app:
npm run devBeware, for maintenance purposes, all unit tests must pass before running the application locally.
Open Postman and import the Munchies Collection, located at assets/Munchies_Collection.postman_collection.json.
A valid JWT token is required for any product or transaction related requests. To obtain this:
- Send a Register User POST request:
POST /users/register| Parameter | Type |
|---|---|
emailAddress |
string |
password |
string |
- Send a Login User POST request:
POST /users/login| Parameter | Type |
|---|---|
emailAddress |
string |
password |
string |
- From the response, copy the value of the token and paste it in the (Postman) Development environment's 'token' variable
- Now you should have authenticated access for product and transaction related requests.
Access granted! Now that you have authenticated access, you are able to send all other requests. The complete Postman documentation can be found here.