Jump to content

Beginner looking for assistance

DDR2-FTW

First off, hello LTT community! I've only recently found LTT and have already learned SOOO much. I actually have a build to post in one of the other forum threads, that i was able to save and bring back to life because of what i have learned just from the Youtube channel. i'm hoping to learn even more here.

So onto the question, I'm very knew to programming, I'm still learning Python from the ground up. I've been VERY briefly exposed to C# and now I'm dabbling in SQL. i want my first large program to be a book inventory program. there's a local bookstore in my area with absolutely no inventory list,(they get books by donation or buy them in bulk from liquidation sales). so i figured i would help myself out learning to program, and help out a local business. the program would need to be able to scan the barcodes of books and retrieve information from online. (i know how to access an excel file in python but thats all the further i've gotten, i have no idea how to link the internet into a program yet.) then be able to store the books in a database so that the cashier could type in an author or book title and see if they have it. 

any ideas on how to get started and how to even approach this would be hugely appreciated. 

Link to comment
Share on other sites

Link to post
Share on other sites

For database you will need a small efficient database. Probably MySQL or SQLLite.

 

For barcode scan the device is called a wand. Usually it's usb and when you scan it send keypress like a keyboard of all the converted characters. If you have a focus in a textbox and click to scan you will see what the barcode represents. Usually it's an ID of some sort like ISBN or database id of the item. Generating Barcode is done with a special font. There are quite a lot but there is 3-4 very popular one. You need to make sure your wand can decode the one you want. Wands usually support a plethora of barcode.

Link to comment
Share on other sites

Link to post
Share on other sites

I'll have to check and see if the store has a wand, i would imagine they do. 

I'm just not sure how to make a database or program to store the info once it is scanned, and then have it to display later. 

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, DDR2-FTW said:

I'll have to check and see if the store has a wand, i would imagine they do. 

I'm just not sure how to make a database or program to store the info once it is scanned, and then have it to display later. 

If they don't have a wand those ranges between 20$-40$ for a simple usb one.

 

The database store the data. The program just read from database, display data, manipulate the data, save to database. You need to pick a database and build the tables and query system around it.

 

You can code every interaction without any visual interface.

 

There are some challenges as to how the Database will work if you have many times the same book with same ISBN or Same title but newer publication. Tracking count of how many of which are in store, where are they and who has which one will be the biggest challenge. IF you want to track who you bought the book from or things like that, the uniqueness of the book will need to be specific to the case scenario you need.

 

First thing first you need to know what they have, What they would need, How they work, What they like and what they don't like about their current way of working. A software need to fix a problem or many problems. Find the needs and fill them. So you will need a sit down with them, that's the PR/Analyst part. Don't forget most people are not tech savvy, they won't understand your "programming" terms. Use simple terms and try to keep it "procedure" oriented. Make question like :

 

If you want to find a book what information can you be looking for ?

What are the most important / common out of those ?

Once you know which book you are looking for what do you in order to have the book in your hands ? Determined the category and get to X/Y shelve ?

 

You see those are not programming terms but with things like that i can know all searchable fields, i know the best indexable one for quick search, i know the most likely to be searched field so UI i can put those first, i know what info to display once i found the book outside the book info like the location in the store for example.

Link to comment
Share on other sites

Link to post
Share on other sites

thats all really good advice. ill have to go have a sit down with them, and see what i would be working with. maybe they already have some kind of database just for magazines or something i can add upon.  

Link to comment
Share on other sites

Link to post
Share on other sites

If you want to do software, I'd suggest Python and SQLite.

 

However, for a library, it would make more sense to code it as a website using PHP and a MySQL database.

You can set up a tiny web server somewhere in the library, on a refurbished pc that costs less than 100$ ... you have apache that's free, php is free, mysql is free

 

This way, the internal website can be accessed from any computer in the library (if the library has computers people can use) and you can easily add functionality like Searching for books, searching by isbn ,by author, by category etc

You can add some kind of user mechanism ...

have guest who can only search for books,

have users that log in using their library card ID or something (ask to enter a password the first time) and besides search, have features like "place a n-day hold/reservation on this book for me when its returned to library so I'll be first in line to get it"

 have librarian who can add , reserve, return books etc

 

You should consider QR codes as well, instead of barcodes... there's free libraries which can generate those QR codes and you can simply dump a bunch of them on a label printer then place the label / sticker on the book. example: http://phpqrcode.sourceforge.net/

 

QR codes can contain more info, so you can have a unique code for every book, in case the library has multiple copies of the same book.

You can buy QR code scanners for under 30$ : https://www.amazon.com/s?k=qr+code+scanner

 

Link to comment
Share on other sites

Link to post
Share on other sites

no no, the books are all donated from different places, and some i'd assume bought in bulk deals. so they all already have barcodes. i was hoping to make a program that i can run on their computer and attach a scanner wand so they can just go through and scan all the books they already have, to try and organize them better. and so people can walk in and ask if they have a book by xyz author and the clerk can do a quick check.

it's a small store, so no customer computers or anything like that. it just needs to be a small (like personal, one computer) database with all their books contained in it, after they scan each one.

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, DDR2-FTW said:

no no, the books are all donated from different places, and some i'd assume bought in bulk deals. so they all already have barcodes. i was hoping to make a program that i can run on their computer and attach a scanner wand so they can just go through and scan all the books they already have, to try and organize them better. and so people can walk in and ask if they have a book by xyz author and the clerk can do a quick check.

it's a small store, so no customer computers or anything like that. it just needs to be a small (like personal, one computer) database with all their books contained in it, after they scan each one.

Then SQLLite is probably simpler. And yes a simple usb wand will read the most common barcodes. Company don't tend to pay for the different barcode types so they use the generic most common ones and all wands should read those. Bookstore dont make that much money to put into simple thing like barcode so they are simple sticker. BTW since you know C#, if they need barcode sticker because a book dont have for some reasons you can use free of charge Crystal report to generate barcodes as it come with the most generic barcode fonts. If they dont want to pay for label printer you can print on normal paper, cut to size and use packing tape or whatever to stick into the book or back cover.

Link to comment
Share on other sites

Link to post
Share on other sites

SQL database for user credentials and other important stuffs. NoSQLs like mongodbs for every other junks that you arent too worry about losing. 

Mongodb would actually be the easiest. No database consistency checks like key constraints found on SQLs. If you use nodejs with the mongoose library, it is stupidly easy. queries are just find and then passing in key values pairs. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×