Inspiration
According to the College Board, the average full-time student spends over $1,200 on textbooks per year, and despite being able to resell, students still find themselves losing hundreds. It was because of these high expenses that one of our team members had to take out a student loan, and it is these same expenses that we aimed to minimize.
What it does
The Magic Bookshelf is a web app that allows users to exchange books for only the cost of shipping! What makes The Magic Bookshelf unique (besides its bright aesthetic) is the lack of subscription fees and our "arcane dust" system which serves double duty as currency (one book donated is one arcane dust) and a rewards system (once you reach certain thresholds of cumulative arcane dust, you can get special titles and benefits)
How we built it
We built The Magic Bookshelf using HTML, Flask, Google Cloud SQL, JavaScript, and CSS. Our frontend handles data entry for all functions such as account creation, book donation, and keeping tabs on that precious arcane dust. All this information is passed to flask through WTForms and then added to our MySQL database using SQLAlchemy. We also ensure your information and orders remain secure as passwords are always encrypted!
Challenges we ran into
The most challenging (and fun) aspect was determining the scope of our project. With two first-time hackers aboard, our team agreed we should stick to a somewhat familiar tech stack which allowed us to pursue more complicated ideas. We ran into some issues regarding one of our teammates living out of the country as our Google Cloud instance would always time out before he got the chance to connect. This made development a challenge, so we had to set up a code review system where everyone who could not access the server pushed their code to those who did for testing and alterations. Finally, we had issues with shipping APIs which resulted in multiple classes and pages being scrapped.
Accomplishments that we're proud of
Setting up the website and adding our first books was a great feeling after spending what felt like an eternity looking at documentation. Even though we didn't quite reach the levels of feature completeness and polish that we initially set out to, our team has great pride in having a functioning and secure project!
What we learned
Everyone on the team learned a lot about interacting with and maintaining an SQL database as no one had prior experience beyond one previous project. In addition, it was three of our team members' first time using flask and the consensus coming out of this 40 hour sprint is we would all love to use it again! (sorry javascript)
What's next for The Magic Bookshelf
The first priority for The Magic Bookshelf is building in the features that weren't able to make the cut due to time constraints. This includes the implementation of a shipping API to calculate shipping costs and easily create shipping labels for users to send books with. We would also like to polish our UI more by adding sorely needed search functionality and optimizing the layout of UI components. Once this is finished, we can work on making your data even more secure by using a RESTful API to interact with the database instead of directly querying it. Then we would be ready to launch our one-of-a-kind web app.





Log in or sign up for Devpost to join the conversation.