BookEase

BookEase streamlines academic book discovery and promotes sustainable practices for students and professors.

App Icon

Vision Statement

What is BookEase for?
BookEase is a comprehensive platform that redefines the acquisition and management of academic and literary resources, facilitating not only the search and purchase of new and used books but also enabling dynamic information management. It supports sustainable practices by encouraging the recycling of textbooks through a user-friendly marketplace. Moreover, it integrates with university databases to ensure accuracy and ease of access to academic materials, all while providing a personalized experience tailored to the specific needs of its users.
Who is BookEase for?
Primarily designed for the academic community, BookEase serves students, professors, and customer representatives by offering distinct access levels and functionalities. Students benefit from streamlined access to required reading materials for their courses, professors can update course requirements in real time, and customer representatives are equipped with tools for efficient service. Additionally, general customers looking for academic and non-academic books can use BookEase without mandatory registration, making it a versatile resource for a wide audience.

Features

Create Account

Sign up quickly as a student or a professor.
App Icon

Development Process

Below is the chart depicting estimated vs actual time for the development of this application

Postmortem

What took the most time? The least? Any surprises?
Throughout the project, the most time-consuming task proved to be setting up the database, followed closely by refactoring the codebase and addressing existing technical debt. Surprisingly, the implementation of the favorite book feature took the least amount of time. However, a notable surprise emerged during development when an error was discovered in the database reading script provided in the sample project. Specifically, a fixed character array of size 1024 caused unexpected issues, leading to additional troubleshooting and debugging efforts.
What did you learn about team or large project development? What will you start doing, keep doing, or stop doing next time?
Team or large project development often involves the time-consuming process of analyzing the strengths of team members, which can sometimes lead to delays in the development process. Moving forward, we recognize the importance of assigning tasks with realistic time expectations and deadlines to ensure the project stays on track. Additionally, we have begun implementing backup plans, recognizing their crucial role in managing unexpected delays and ensuring adequate time for team meetings to discuss project progress. To streamline our development process, we plan to stop allocating entire features to individual team members, as this often results in numerous merge conflicts and consumes significant time to resolve. Instead, we will focus on breaking down tasks into smaller, more manageable components, facilitating smoother collaboration and reducing the likelihood of conflicts arising.
What went right in the development process?
Several aspects of the development process went smoothly and contributed to the success of the project. Firstly, the creation of an architecture diagram proved to be highly beneficial, as it provided a clear overview of the system's structure and facilitated the seamless addition of additional functionality. Additionally, leveraging appropriate design patterns at specific instances significantly aided the development process across all three iterations, ensuring code maintainability and scalability. The utilization of design patterns learned in class, particularly those promoting low coupling, enabled the easy incorporation of system tests during the third iteration, enhancing the overall robustness and quality of the application.

Video

Team