In colleges all over America, at a time when students have already been charged thousands of dollars for college tuition,room and board, and food, the last thing they need is an additional financial burden to participate in the classes they have already paid for. Every year, students spend between $1240 - $1440 and are desperately left to scour the internet for cheaper options so they can have the materials they need to participate in their classes. Additionally, with all the costs mentioned above, students are always looking for a way to make extra money. If only there was a quick, simple, easy-to-use platform in which students could request to rent or buy used textbooks from their close-by peers or repurpose their expensive textbooks by renting or selling it to their fellow students. Thankfully, there is! Introducing bookXchange!
What it does
bookXchange is a platform for college students to share textbooks that they are willing to rent and sell in order to make some money. Also, users are allowed to buy or rent certain books that are up for sale. Users must register with an account and the username and password and from there, they will be redirected to a new webpage with a new navigation bar. This bar will include extensions to post a listing of a book or to search for one. Also, a person's venmo will be linked to this website and the transaction occur on the website if a person is to rent or buy a book from another.
How we built it
bookXchange consists of two major components: front-end code and back-end code. The front-end code was built using bootstrap (an opensource CSS framework), which we programmed in html. We took inspiration for the format of our website from a free bootstrap html template called Arsha, which included a bunch of basic classes to give us a foundation for styling. The back-end code was built primarily using python and Google Cloud Firestore. Python was used to communicate data between the database on Google Cloud Firestore and the website, as well as to collect that data and make decisions.
I worked on the backend of the project. I coded Python Flask to load the templates, and processed all the requests. I also set up a Firestore database to store all the Users and Textbook. I integrated the database and Flask backend with the HTML files to make the project flow well. Finally, I handled all the API requests to provide more info on textbooks.
I worked on the frontend of the project. I coded the pages that the viewers would see using html. I figured out how our website would be designed to provide the best user experience and ensure the purchasing and sale of the textbooks between students was smooth. Finally, I determined what information we would need to ensure this transcation and how we would acquire and store it.
I had come up with the general idea for this platform and my team and I then added more specific detail. Also, I edited some of the detailing on the webpage to make the design look nicer as well as more functionable for users. I also worked on writing most of the information on the pages under the sections and general information regarding the different pages and working on some of the front-end code.
Challenges we ran into
A challenge that we first ran into was starting the project. We first had trouble determining where to start in creating a website. As a team we then took a step back and analyzed the problem step by step. We first started to code the backend of the website and figured out how the variables relate to eachother. We then looked at the front end and went page by page determining how they all relate. We then created the design to make it appealing to the users. After going through this process, all the pieces came together and we were able to overcome this challenge.
Accomplishments that we're proud of
Accomplishments that we are proud of are getting the database integrated within our website to save the user's information as well as being able to get all of the back-end code integrated within the front end code to make the website functional. Also, we are proud of the dilligence and the hard work that all of our team members have put into this project and how everyone was able to contribute with their accumulated skills. Also, many of our teammates had to learn a lot about bootstrap and HTML in order to fully code the website and the front-end code and we had all learned and made it happen.
What we learned
Throughout our HackTJ 8.0 journey, we learned the various pieces of valuable information we will surely take with us to apply in future technological endeavors. One thing we learned was how to utilize boostrap in depth to optimize our website. We additionally learned how to integrate bootstrap, html, flask, and google cloud firestore to design and construct a properly functioning website, as well as the various other factors that go into web development and that yield a wholistic, efficient, user-friendly product.
What's next for bookXchange
In the future, we would like to add more features to the website. For example, we will establish a method by which users can communicate on the platform and where they do not have to communicate through emai. This will allow for all the services to be packaged on the website. In general, bookXchange plans to expand into other sectors where we can allow for people to buy and sell other entities at low prices. Textbooks are just the start of the bookXchange's journey.