Safari Mas Inventory

Back-End

SRE


project-cover

Description: An Inventory Management and POS Application for Car Spare Part Store.

Tech Stack:

Short Explanation

Safari Mas Inventory stands as a sophisticated inventory management system meticulously crafted to optimize stock management at Safari Mas Raya Store. This system represents a holistic solution, empowering the store with robust capabilities for tracking, managing, and organizing inventory items. By centralizing these operations, it significantly enhances efficiency and accuracy within the sales operations.

At its core, Safari Mas Inventory offers a user-friendly platform equipped with comprehensive features tailored to meet the specific needs of the store. Through intuitive interfaces and seamless workflows, users can effortlessly monitor stock levels, track item movements, and generate insightful reports.

Moreover, the system's advanced functionalities extend beyond basic inventory management. It encompasses features such as automated reorder alerts, vendor management, and barcode scanning capabilities, further streamlining processes and reducing manual efforts.

By implementing Safari Mas Inventory, the store can ensure optimal utilization of resources, minimize stock outs, and improve overall inventory turnover. This not only enhances operational efficiency but also fosters customer satisfaction by ensuring product availability and timely fulfillment of orders.

In summary, Safari Mas Inventory serves as a powerful tool for Safari Mas Raya Store, empowering them to navigate the complexities of stock management with ease and precision. Its comprehensive features and intuitive interface make it a valuable asset in driving efficiency and success within the sales operations.

Project Goals

This project aims to create an inventory management system at the Safari Mas Raya Store. This website has several functionalities which are:

  • Authentication
  • Purchase (Order, Debt, Return, Invoice)
  • Sale (Point of Sale, Receivable, Return, Invoice)
  • Report
  • Stock Management and Transfer

Framework & Dependencies

  • Go, Gin, Gorm
  • Next.js, Tailwind CSS, Typescript
  • Docker, Nginx

Lesson Learned

Embarking on my inaugural venture into Go language, I spearheaded the development of an API for an inventory app, marking a significant milestone in my programming journey. This project served as an immersive learning experience, allowing me to delve into various facets of Go development and gain invaluable insights along the way.

One of the key accomplishments of this project was mastering the art of crafting APIs in Go. Leveraging the language's simplicity and concurrency support, I designed a robust and scalable API architecture that effectively catered to the needs of the inventory app.

Furthermore, I encountered and successfully managed race conditions with row locks, a critical aspect of concurrent programming in Go. By implementing efficient locking mechanisms, I mitigated potential data inconsistencies and ensured the integrity of the inventory data, thus enhancing the reliability and stability of the application.

In addition, I navigated the intricacies of deploying a Go application on a Linux server using Continuous Integration/Continuous Deployment (CI/CD) practices. This involved setting up automated build pipelines, executing tests, and seamlessly deploying updates, thereby streamlining the deployment process and accelerating time-to-market.

Overall, this project was a transformative experience, enabling me to acquire a deep understanding of Go language fundamentals, concurrent programming techniques, and deployment best practices. As I continue to refine my skills in Go development, I look forward to applying these newfound insights to future projects, driving innovation and excellence in software development.

Appreciation Section

Before closing this article, I would like to thank all members of the Safari Mas Inventory App Teams namely Gayuh, Arkan, Dani who have worked with me for about 3 months to make Safari Mas Inventory App. I hope we can continue this collaboration to develop another wonderful application in the future.

© Ishaq Adheltyo