Giter Site home page Giter Site logo

zacharie410 / instock-api-venus Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 66 KB

The project is to build an Inventory Management System for a Fortune 500 client. The system will be built by a team of developers using React, Node, Express, and mysql. The team will follow Agile methodology and use JIRA to manage the workflow.

JavaScript 100.00%

instock-api-venus's Introduction

InStock - Inventory Management System

InStock is a modern and scalable inventory management system, built with a React front-end and an Express back-end.

BACK END REPOSITORY

This is the back end code

Links

Front End Repository

JIRA Board

FIGMA

Table of Contents

  1. Getting Started
  2. Site Map
  3. Outline
  4. Future Improvements
  5. API Reference

Developer Guide

Getting Started

You will need node installed on your system. Clone the repo and open it. Set up your .env using the .env.sample

On front end run:

npm install

npm start

On back end,

Make sure your mysql is setup, then run:

npm install

npm run db:migrate

npm run db:seed

npm run dev

If above doesnt work try: node index.js

Site Map

graph TB
  Header --> Warehouses
  Header --> Inventory

  Warehouses --> Warehouse_Page
  Warehouse_Page --> Create_Warehouse_Page
  Warehouse_Page --> Individual_Warehouse

  Inventory --> Inventory_Page
  Inventory_Page --> Create_Inventory_Item_Page
  Inventory_Page --> Individual_Inventory_Item

  Individual_Warehouse --> Edit_Warehouse_Page
  Individual_Warehouse --> Delete_Warehouse

  Individual_Inventory_Item --> Edit_Inventory_Item_Page
  Individual_Inventory_Item --> Delete_Inventory_Item

Outline

The project is to build an Inventory Management System for a Fortune 500 client. The system will be built by a team of developers using React, Node, Express, and mysql. The team will follow Agile methodology and use JIRA to manage the workflow. A design tool called Figma will be used to create the mockups and style guide. The team will also use Git/GitHub to collaborate and manage version control. The project must adhere to functional and visual design requirements as specified in JIRA tickets. The site must use multiple routes and proper folder structure and naming conventions for a full stack web application. Third-party libraries can be used.

Future Improvements

In the future, we plan to expand the capabilities of the InStock Inventory Management System by incorporating the following features:

Basic CRM (Customer Relationship Management)

A CRM integration will allow our users to manage their customer data, track interactions, and facilitate better communication between the inventory management team and their clients. This feature will include:

  • Customer profiles with contact information and activity history
  • Task management and reminders for follow-ups
  • Integration with email and other communication channels
  • Customizable reporting and analytics

Price History

Tracking price history is essential for businesses to understand market trends and make informed decisions on pricing strategies. The price history feature will provide:

  • Historical data on product pricing
  • Visualizations of price trends over time
  • Alerts for significant price changes
  • Integration with inventory data for better analysis

System Administration

System administration features will be added to ensure smooth operation and management of the Inventory Management System. This will include:

  • User management: Add, modify, and delete users with different access levels and permissions
  • Audit logs: Track user activity and system changes for security and compliance purposes
  • Data backup and recovery: Schedule automatic backups and restore functionality in case of data loss
  • System performance monitoring: Tools to monitor and optimize system performance for a seamless user experience

These additional features will further enhance the capabilities of the InStock Inventory Management System, making it an even more comprehensive and powerful tool for businesses to manage their inventory efficiently

API Reference

Welcome to the InStock inventory management system API reference. The API provides various endpoints to interact with the inventory data. Here's a quick guide to help you get started with the InStock API:

Base URL

The base URL for the InStock inventory management system API is: http://localhost:8080 Please note this can be changed in the .env file, but will default to port 8080 if no .env file is found

Endpoints

GET all inventorys

GET /inventory

This endpoint retrieves all inventory items from the database.

GET a specific inventory by id

GET /inventory/:id

This endpoint retrieves a specific inventory item from the database by its ID.

POST a new inventory

POST /inventory

This endpoint creates a new inventory item in the database. The following parameters should be included in the request body:

{
  "itemWarehouseId": "string",
  "itemName": "string",
  "itemDescription": "string",
  "itemCategory": "string",
  "itemStatus": "string",
  "itemQuantity": "integer"
}

PUT/update a inventory by id

PUT /inventory/:id

This endpoint updates an existing inventory item in the database by its ID. The following parameters should be included in the request body:

{
  "item_name": "string",
  "description": "string",
  "category": "string",
  "status": "string",
  "quantity": "integer",
  "warehouse_id": "string"
}

DELETE a inventory by id

DELETE /inventory/:id

This endpoint deletes an existing inventory item from the database by its ID.

GET all warehouses

GET /warehouse

This endpoint retrieves all warehouses from the database.

GET a specific warehouse by id

GET /warehouse/:id

This endpoint retrieves a specific warehouse from the database by its ID.

POST a new warehouse

POST /warehouse

This endpoint creates a new warehouse in the database. The following parameters should be included in the request body:

{
  "warehouse_name": "string",
  "address": "string",
  "city": "string",
  "country": "string",
  "contact_name": "string",
  "contact_position": "string",
  "contact_phone": "string",
  "contact_email": "string",
}

PUT/update a warehouse by id

PUT /warehouse/:id

This endpoint updates an existing warehouse in the database by its ID. The following parameters should be included in the request body:

{
  "warehouse_name": "string",
  "address": "string",
  "city": "string",
  "country": "string",
  "contact_name": "string",
  "contact_position": "string",
  "contact_phone": "string",
  "contact_email": "string",
}

DELETE a warehouse by id

DELETE /warehouse/:id

This endpoint deletes an existing warehouse from the database by its ID.

Testing the API

You can use tools like Postman or curl to test the API endpoints. Here's an example request to create a new inventory item:

`POST /inventory Content-Type: application/json

{
  "itemWarehouseId": "2922c286-16cd-4d43-ab98-c79f698aeab0",
  "itemName": "Laptop",
  "itemDescription": "Dell XPS 13",
  "itemCategory": "Electronics",
  "itemStatus": "In Stock",
  "itemQuantity": 10
}

Here's an example request to retrieve a specific inventory item:

GET /inventory/bdc6bb69-e09c-498d-8abd-be2792504d00

Conclusion

That's it! You're now ready to test the InStock inventory management system API. If you have any questions please contact the developers.

instock-api-venus's People

Contributors

zacharie410 avatar devraysingh avatar chris-kayahara avatar alis-swe avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.