pleatherstarfish / bom-squad Goto Github PK
View Code? Open in Web Editor NEWAn inventory and search tool for DIY Eurorack synthesizer modules and components
License: GNU General Public License v3.0
An inventory and search tool for DIY Eurorack synthesizer modules and components
License: GNU General Public License v3.0
Currently many of the templates include quite a bit of inline CSS which was used for mocking up pages quickly. As the project grows it needs a unified approach to CSS, or ideally SCSS. The stylesheet itself also needs to be better organized. Many uses of ids should be refactored as classes or selectors. Theming should be used instead of Bootstrap overrides, etc.
Just about everything could use better documentation, comments, and even the README could use some re-working.
In order to run the site locally, any contributors must have the production reCAPTCHA API keys. To prevent this, we should use a different testing set of reCAPTCHA API keys for when the site is running in testing/debug mode - it seems like Google provide a private/public key pair for testing purposes. This pair of API keys can be stored directly in settings.py
.
By doing this, contributors will not need to have the production reCAPTCHA API key at all, simplifying the setup process and increasing security by keeping the prod key private to those who need to be able to deploy to prod.
The idea is that the user's component inventory should keep the last 500 changes as personal history, so if a user makes a mistake, it's easy to see what they changed and correct it. I think the best approach might be to build this with the Django JSONField model field. The main inventory could still be maintained with the relational tables. But every change to the user's component inventory could be logged with a timestamp in a JSONfield (inventory_history
or whatever).
The tricky part of course is writing the logic allowing a user to "restore" the inventory to a previous state or diff a previous state with the current state.
The authenticate
app currently has no unit tests. We should change that.
For certain builds (e.g. Triple Sloth v2) there may be multiple components from different suppliers that can work for certain items in the BOM. We need a way for the community to rate the effectiveness of component for a particular build.
For example, this could be built as a table witch contains four foreign keys: to the user, to the module, to the item in the BOM, and to the particular component. This table would additionally take two other fields, the rating (i.e. 1-5) and a user comment string. (A complex comment architecture is probably unnecessary here since it' more of a review than a comment section.)
The personal inventory is the list of components already in a user's collection. Build out the component list allowing users to search for a specific component by various keywords, categories or filters. Allow user to add or remove that component from their inventory, including allowing users to specify how many of a certain component they have and where it is stored. In user_profile
, the UserProfileComponentInventoryData
is the "through" table that connects the user id with the component and contains other externalities like the number of components or personalized location (e.g. box / draw / cell, etc.)
The current site uses a minimalist sticky menu with a full-screen menu that opens from an arrow button in the main menu. This full-screen menu needs to be substantially built out, including improving the UI, adding JavaScript/CSS animations for the logo (partial "bees head" logo to full BOM Squad logo with text and back on menu open), and adding a mobile-compatible version.
Some inspo for the full-screen menu:
https://patrickheng.com/
https://yelvy.com/
https://vintage.agency/
https://andreribeiro.co/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.