Pynventory
Overview
Pynventory is a collaborative, invite-only learning project built around creating a small inventory management application that grows in scope as the project evolves.
The goal is to practice real software development workflows in a supportive environment that help participants prepare for real work: Python, Git branches, GitHub Issues, pull requests, code review, releases, and teamwork.
The application currently runs in the terminal and uses SQLite for local data storage. It starts simple on purpose so contributors can focus on learning, improving the app step by step, and working together.
What I am learning from it
Pynventory is helping me learn to lead a small team of student developers.
I get to help people learn the ropes of software development workflows and best practices which I have had the opportunity to learn over the course of 1.5 years, while I worked as an actual junior developer.
My biggest contributions to the project has been setting up the thorough wiki (check links) for getting started and overall development help for new participants, setting up the repository actions / rules, workflows, project board and automations.
What participants are learning from it
- Structuring a Python application
- Separating database operations from the main program
- Validating user input
- Working with SQLite and other databases as the project evolves
- Handling CRUD operations
- Designing a terminal user interface
- Working with branches and pull requests
- Reviewing and discussing code with other contributors
Current direction
The project is currently focused on improving the terminal application before moving towards a possible web interface.
The next improvements will depend on the issues, discussions, and contributions from the people working on the project.
Technical details
The application is written in Python and uses SQLite for local data storage.
It currently has no application dependencies beyond the Python standard library. Ruff is used for development checks.