Hi everyone,
I'm a web and mobile development student. I have some programming knowledge, but this is my first time developing a complete application from start to finish.
I've received my first request to build a POS system for a small grocery store, and I'd like to do a good job while also learning from the experience.
The store has only one cashier, so the application should be simple and practical.
The main requirements are:
- Register products by scanning their barcodes and entering their names, prices, and quantities.
- Scan products during checkout and automatically display their names and prices.
- Calculate the total and save each sale.
- Automatically update stock quantities after each sale.
- Review previous sales and check current inventory.
I'd prefer a desktop application that works offline on a single computer.
I'd like to use Java and a database, including SQL if needed, since these are among the technologies I've studied and want to apply in a real project.
I'd appreciate your advice on the following:
Is there an existing free and open-source Java POS application that would be suitable for a small grocery store? I'd like to study its code, understand how it works, and modify it to meet the requirements.
If such a project exists, which ones would you recommend, preferably projects that are reasonably well-organized, functional, and easy to modify?
If modifying an existing project isn't a good option, would building the application from scratch be better?
If I build it from scratch, what technologies would you recommend for the user interface and database?
Could you suggest a step-by-step development roadmap suitable for someone who knows programming basics but hasn't built a complete application before?
Since this is my first client project, I want to choose a sensible approach rather than waste time on an unsuitable codebase. My goal is to deliver a working application while understanding the code and learning how to develop a complete software project.
I'd appreciate any practical advice, project recommendations, or lessons from your experience. Thank you!