Store Manager is a web application that helps store owners manage sales and product inventory records.
- Admin can add a product
- Admin/store attendant can get all products
- Admin/store attendant can get a specific product
- Store attendant can add a sale order
- Admin can get all sale order records
- Implement stock management functionality where attendants cant complete an order for an product that isn't available in the store.
- Store owner can give admin rights to a store attendant.
- Store admin/owner should be able to create categories an add product to that category.
Project is managed here using the project management tool, Pivotal Tracker.
UI templates are hosted on Github pages here
- Node.js - A runtime environment based off of Chrome's V8 Engine for writing Javascript code on the server.
- Express.js - Web framework based on Node.js.
- PostgreSQL - An Object relational database.
- Babel - Javascript transpiler.
- Eslint - Javascript linter.
- Airbnb style guide was followed.
- Mocha - A Javascript test framework.
- Chai - Assertion library.
- nyc - Istanbul's command line interface.
- Install NodeJs and PostgreSQL on your computer.
- Create a database named
storemanager
- Clone this repository using
git clone https://github.com/jesseinit/store-manager.git
. - Run
npm install
to install all dependencies. - Run
npm run migrations
to seed the database - Run
npm run dev
to start the server. - Navigate to localhost:3000/api/v1 in your browser to access the application.
Requirements
- Postman - API development and testing environment.
Testing with Postman
- Install Postman by following the link above.
- Navigate to
localhost:3000
in Postman to access the application. - Use the API Documentation to access the endpoints available.
Running unit tests.
- In an open terminal, navigate to the cloned project file.
- Run
npm test
. This runs tests and displays coverage data generated by Istanbul's nyc.
- Egbosionu Obinna Jesse. 🤠