An inventory management system.
Note
Whouse is a work-in-progress. What you see at the moment may not the final product.
A REST server developed in Go using the echo library.
The following is the REST API routes that are implemented:
| Method | Endpoint | Params | Description |
|---|---|---|---|
| GET | / | Check if the server is up | |
| GET | /items | id (optional) | Get the JSON of a specific item (or all) |
| POST | /items | id, name, description (optional), class, data, amount, unit (optional) | Create a new item |
| DELETE | /items | id | Delete an item |
| POST | /stock | id, amount | Set the amount of stock for an item |
| POST | /stock/flow | id, amount | Change the amount of stock for an item (+/-) |
- No authentication required.
- The server runs on
localhost:8080/. - The SQLite3 file is generated on the same directory as the server instance.
A simple CLI that allows you to interact with the server.
Below are the functions available:
| Command | Description |
|---|---|
item create |
Create a new item |
item list |
List down all items |
exit |
Exit the program |
- Inputs for prompts (such as in
item create) are case-sensitive. - Numbers are accepted as inputs.
- Input validation is only done on the server, hence you will only know if the inputs are valid once you filled everything.
- Run
go run main.goto start the server. - Access the client on a separate terminal session by running
go run client/client.go.
- full function parity between server and client
- logging on the server side
- formatted tables for the list
- checkout/receipt system similar to my old project ReceiptGen
Developed by theluqmn. 100% human-written code.