Have you ever taken a bunch of Lego sets apart and put them in the same bin? Do you want to rebuild one of the sets?
This Electron application helps you track your Lego sets and pieces with an easy-to-use desktop interface.
Download the latest release from the Releases page and:
- Run the installer (
.exeor.msifile) for Windows - Extract the archive (
.zip,.7z, or.tar.gzfile) and run the application
For development:
- Install Node.js from the official website
- Download or clone this repository
- Install dependencies using pnpm:
pnpm install
- Start the application using
pnpm devorpnpm start
This is an Electron application with the following structure:
src/main.js- Main Electron processsrc/renderer/views/pages/- HTML templates and pagessrc/renderer/views/layouts/- Layout templatessrc/static/- Client side CSS styles and JavaScript filessrc/database/- Database related filessrc/classes.js- Custom classessrc/constants.js- Application constantssrc/preload/preload.js- Preload script for Electrontests/- Unit test files and fixtures
Note
Most of the UI design and styling has been developed with the assistance of AI. The application leverages AI-powered design tools to create an intuitive and visually appealing user interface.
This project uses a custom versioning system based on the Major.Minor.Patch format, with the following definitions:
-
Major: Incremented for large-scale changes, core feature additions, reaching a milestone (e.g.,
v0.X.X→v1.0.0), or when changes from a series of Minor versions accumulate into a significant update. -
Minor: Incremented for new features, major bug fixes, or refactoring that may require changes to existing functionality. Breaking changes (e.g., API changes or removal of features) are allowed in Minor versions, which differs from standard Semantic Versioning (SemVer).
-
Patch: Incremented for small bug fixes, quality-of-life improvements, or minor feature additions that probably do not break compatibility or require significant changes to the system.
Note: This versioning system is tailored for this project and may differ from standard Semantic Versioning (SemVer), which prohibits breaking changes in Minor versions. This approach allows for more flexibility during development and feature additions.
Note: I will try to mention in the patch notes which updates have breaking changes and what they are. If you find any breaking changes, please make an issue for it.
This project is licensed under the GNU General Public License v2.0 only.