What tech stack should I choose for a billing and inventory management app?
Asked by
TechieExplorer97
Hey everyone! I'm looking to develop a comprehensive desktop billing and inventory management application. It will handle invoices, GST/VAT, reporting, and potentially offline support. I'm a bit lost regarding which tech stack would be the best option for the long run. I've seen some popular choices like ElectronJS, Tauri, .NET (WPF/WinUI/MAUI), PySide6, and PyQt6, but I'm open to new suggestions too. My main concerns are performance, resource usage, cross-platform compatibility (Windows, Linux, macOS), ease of maintenance, scalability, UI/UX flexibility, and long-term viability for a commercial product. If anyone has built something similar or has experience with these technologies, I'd love your recommendations and any potential pitfalls to watch out for. Also, would you choose differently for a solo developer? Thanks a lot!
Answers
For just a desktop app, consider using NiceGUI. It's straightforward, but if you want to expand into a web app, look at FastHTML instead.
Reply to this answer
If you're considering online features, I'd suggest using Django with PostgreSQL for the backend. Combine that with Django Rest Framework for the API, and you can also incorporate Celery for managing long-running tasks like report generation and scheduled tasks. If you need a web UI, Django templates along with HTMX can work really well.
Reply to this answer
How about using FastAPI with React? It's a solid combo for performance and development speed.
Reply to this answer
I'd suggest PyQt6 for a desktop-only app. It offers native performance compared to Electron, and Python libraries like SQLAlchemy and Pandas are perfect for inventory management and GST calculations.
Reply to this answer
Honestly, donโt fall into the trap of getting stuck in analysis paralysis. The best tech is the one that helps you finish your project. If youโre comfortable with Python, PySide6 or PyQt6 could be your go-to options since they let you stay within one language through the whole stack.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions