I know next to nothing about programming, I did a little Java 10 years ago and have written a few bash scripts but other than that I know nothing. But it is something I’d like to learn but haven’t really had the motivation for.
Anyway, I’ve finally thought of something I’d like to try and do and I’m not really sure where to start. What I want to try and make is software to keep track of the location of objects in a warehouse. The objects are all the same and there’s a fixed amount of space so a simple 3D grid system will work fine and should be simple enough to have in a database.
I want to create a Web UI for the users and this is what I need help with. The Web UI should allow the user to select groups of objects graphically and drag and drop groups or individual objects to different locations in the grid. I also want to be able to scan barcodes using a phone camera to add objects to the grid.
Where should I start with this?
You have a big project ahead of you.
For a nice simple web framework I would suggest Python Flask. It should scale well for what you need. Plus it uses Python so it’s easy to use.
Be very careful in your assumptions of the task difficulty. Many of the simplest “things” have some of the most complex logic behind them.
First off, have you worked in a warehouse? If you haven’t, consider spending some time in one to see what the workers have to deal with. The last thing you want to do is create a WMS that gets in the way of the workers.
Next, I like MazeFrame’s ideas for drawing out your solution. Specifically the features that get you off the ground vs the features that you really want to add.
When it’s actually time to start building the solution, spend a lot of time designing the database. Maybe I’m prejudice here, but to me the database is the most important aspect of any solution. If you start giving ground here, and avoiding making the database the way it should be in favor of just getting it done, you’re going to fall behind quickly. Once your database is laid out, it quickly becomes the hardest piece of your application to change. Any inefficiencies will exist for a long time before they are fixed.
Yeah, I want to make this mostly for me to use to keep track of things, because as it is the place is a disaster and I waste so much time trying to find stuff. The people I work for are seriously disorganised so I was thinking about this as a way of making my job easier. I could just make a spreadsheet really but I know that no one else will keep it up to date so I thought of making something visual and easy to update and that way there’s a chance I could get the other people I work with to keep it up to date.
The database side makes sense to me, I’ve done a little SQL before so I know roughly what I need to do. But I’m really unsure about the rest of it. This is something of a long term project, so I guess what I really want to know is what programming languages should I be looking at for this kind of thing? Once I start learning a little then I should have more of an idea of how to actually do it.
you will definitely want to do your homework on the database side. as @Levitance said you want that to be solid. i had a project where we did some work on the database but ultimately got it to “work” and moved on. later when i was trying to maintain that project i was having to work within the confines of what that database design was forcing on me.
do enjoy the project though. and come back if you ever have questions. someone here will surely be able to help you at least a little bit