Beginner Level

Inspiration

Our inspiration for this project was from an English teacher who assigned us cultural books. Kids like us struggled to search for the perfect novel. This inspired us to formulate a program to aid students to find the ideal book for them.

What it does

This program prompts the user to use filters to get down to a certain book they would want. Users can do compound researches and use multiple filters instead of just a search bar. This allows the number of books they are interested to dwindle down to a certain few books.

How we built it

This program was built by a team of four. We decided to split up the work. Two people worked on getting all of the information for the books, while the other two programmed on Eclipse using the language Java. While working separately, we frequently checked on each other's work and produced a phenomenal program.

Challenges we ran into

When inputting the information for the books into a text file some characters couldn't be scanned by our scanners to create information on each book. We overcame this challenge by deleting the characters and using the find and replace tool on eclipse. Another challenge we ran into figuring out how to allow the user to do a compound search. One of our teammates struggled where to begin so another teammate suggested an idea on it and they worked together to find a solution which helped us finish it much faster than one person struggling through it. One last challenge we had was how we were to search through our "library" of books to find what the user wanted. If the user wanted search by genre the user would choose a number corresponding to a genre and then this string parallel to the number would be sent to a search program to look for a book; however, we used a double equals sign instead of .equals for strings. Also with this for user input we had to change this to .contains so then if a user inputs the last name or a certain part of the title it will search for the text they inputted and not the entire title and name to see if it equals and is exactly the same.

Accomplishments that we're proud of

Users are able to use compound searches and filter by more than just one search method. Also we are proud of how we were able to make it less exact when searching for titles and authors as compared to searching for an authors full name or the word for word title. Another thing we are proud of is our use of scanners as this is one of our first times using them in java for user input. Finally, one last thing we are proud of is how fast we were able to make this program. Compared to our class projects for school that took a week or two, with a plan in our head we were able to create a program that worked well and worked to what we had in mind.

What we learned

We learned how to fully grasp the use of scanners when reading through text files or for getting user input. Before this project we have never fully understood or really used GitHub. We have only heard its name mentioned in our robotics projects but after this we understood about how to commit changes and add different files to a git repository. Going into our next season of robotics it will be easier to grasp the ideas of GitHub and help our understanding.

What's next for Book Sorter

There are many things that we would like to add and develop farther in our program. Firstly, we would like to add subclasses to our program so the user could search for more genre specific books. For example, the cultural books include cultures from many places on the globe. We would like to create a subclass that allows the user could search for specific cultures like Asian cultures, Middle Eastern cultures and many more. Another thing we would like to touch up on is the formatting of the output. We would like to make it look cleaner and allow the user to select a book that sounds interesting instead of having everything being output, they would select a book and then the information would be outputted to them. Something else that is next is creating a website for the code as most of us are back-end developers we have little to no experience web designing, this would improve user interface and make it accessible through the web and not just through a website like eclipse. Finally we could see this program being used in libraries because if you go to a library you have a search bar like google and you can't search by specific things, we could use the libraries file of books and it could use the entire libraries set of books and even include how many you can find at the library and where to find them, or get the library to put you on a waiting list for the book.

Final Note

To get the program to work with your IED use the GitHub link and replace the text file with the raw in.txt file in the GitHub link

Built With

Share this project:

Updates