# SMBC Inventory
---
repo: https://github.com/SMBC-Inventory/SMBC-Inventory
---
## Approach -Proj Overview
- CRUD Inventory app
- By creating this inventory app, we aimed to empower businesses to gain better control and visibility over their inventory, leading to reduced costs, optimized stock levels, and improved customer satisfaction.
- Our project's objectives were twofold: first, to develop an intuitive and user-friendly interface that minimizes the learning curve and ensures a seamless user experience. Second, to build a robust and scalable backend infrastructure
---
## Technology Stack
- we adopted a technology stack that leveraged the power of React, Express, and Sequelize.
- React allowed us to levergae its component-based architecture.
- Express, a fast and minimalist web application framework for Node.js. Express provided us with a lightweight and flexible framework.
- For our database management system, we chose Sequelize, a powerful ORM (Object-Relational Mapping) library for Node.js.
---
## Approach -Proj Setup
- Prioritized understanding GitHub's environment for collaborative working.
- Recognized the importance of efficient collaboration and a smooth workflow which we leveraged GitHub's features and best practices.
- Utilised GitHub's issue tracking system and project board to effectively manage and prioritize tasks, enhancing productivity and project organization.
---

---
## Approach - Proj Spec
- Defining the purpose of the site and brainstorming the purpose of each peice/ Component that is required to develop the App
- started with breaking down the website into sections and functionality to further assess how we could go about starting the project and creating issues so that each of us would know what to work on
- Creating Wireframes and psuedoCode to plan how we want to app to look and function
---

---
### My Contribution
- Utilized issues to create and assign tasks.
- Established communication protocols and data formats between the frontend and backend.
- Incorporated best practices in UI design, such as clear navigation, intuitive forms, and visual hierarchy.
- Implemented the update functionality within the app.
- Integrated the frontend with the backend API to enable data retrieval, modification, and persistence
---
### Something I liked
- I liked the functionality which i had incorporated where a user could choose to see how many items in the inventory
```javascript
export const ItemList = ({ items, itemCount,}) => {
return (
<>
{items.slice(0, itemCount).map((item, idx) => {
return <Item itemCount={itemCount} item={item} key={idx} />;
})}
</>
);
};
```

---
### What went wrong or... what lessons did we learn
- Making sure we don't blindly pull without reading the code
- we could've used issues more - documenting our work to tell our story
- read the track changes when merging pull requests
---
## What went right
- No major problems where we had to start from scratch
- working section by section gave us the ability to learn a lot instead of splitting the work in a different way
- being able to feel confident within your team and learning from others
---
# Even Better if...
- write more comments
- Make smaller pull requests so that we're on the same page at similar-ish times
- styleguide (how we decide to write code)
---
# Questions?
{"metaMigratedAt":"2023-06-17T19:15:11.809Z","metaMigratedFrom":"YAML","title":"Talk slides template","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"659e23a1-3bbe-422d-9af4-d4d370dc1cec\",\"add\":2922,\"del\":1315},{\"id\":\"e4684b11-975d-4d26-a460-4cea3ac180e8\",\"add\":4297,\"del\":2260}]"}