An ordering system at a grocery store, users can checkout the cart containing the products to be purchased. There are also options for takeaway and delivery. Users can choose to takeaway and delivery. Admin can manage a menu by managing products based on stock on the admin dashboard. There is a graph to do an in-depth analysis of sales.
As the Backend & Dashboard Developer for Radin, I developed a comprehensive grocery store ordering system designed to digitize and simplify daily retail operations. The platform allows customers to browse available products, add items to their cart, and complete orders through flexible options — either for takeaway or delivery — while providing administrators with powerful tools for inventory and sales management.
On the backend, I implemented a structured API using Node.js and Express.js, supported by MySQL for efficient data handling and transaction reliability. The system included features such as product categorization, dynamic stock tracking, and order lifecycle management from checkout to fulfillment. I also integrated Midtrans as the payment gateway to support secure, multi-method payments with automatic status updates.
For the admin interface, I built a Next.js dashboard that allows staff to manage menus, monitor stock, process incoming orders, and visualize performance metrics through real-time sales analytics and charts. Meanwhile, the Kotlin-based mobile application enables customers to browse, order, and pay conveniently within a seamless, user-friendly experience.
The project emphasizes operational efficiency, data accuracy, and usability—transforming a traditional grocery workflow into a modern, data-driven commerce system that improves both customer satisfaction and administrative oversight.