Whale's Tale Inventory

Inventory & sales tracking for the Whale’s Tale Bookstores (Mills)

Whale's Tale Inventory System — A Short descriptive headline

A Django-backed inventory system for the Jefferson County Library Foundation's two Whale's Tale Bookstores. Replace this placeholder with your summary.

Research → Design → Build → Test
Timeline
Solo (Cameron Bilyeu)
Team members
Django, PostgreSQL, JavaScript
Tech

About

A Django-backed inventory system for the Jefferson County Library Foundation's two Whale's Tale Bookstores. Replace this placeholder with your summary.

Requirements / Objectives

• Scan ISBN/UPC
• Track quantity, genre, condition
• Provide turnover reports

Assessment

Criteria: Functionality, data integrity, UI polish, documentation

Key features

List your main features here.

Project timeline

  • Phase 1 — Research
  • Phase 2 — Design
  • Phase 3 — Testing
  • Phase 4 — Implementation

Team

Cameron Bilyeu — Developer

Tools & Tech

Django, PostgreSQL, JavaScript

Progress Reports

Week 1 Progress Report (September 9–15)

Summary:
This week focused on research and planning for the Whale’s Tale Inventory System project. I met with team members and mentors to define the project goals, scope, and feature requirements for both Whale’s Tale Bookstore locations (Mills and Belmar). The system will include ISBN/UPC scanning, manual entry, quantity and location tracking, genre and holiday categorization, condition fields, and reporting features such as price history and turnover analysis.

Tasks Completed:
  • Conducted initial research on existing inventory management systems and open-source tools.
  • Determined that a Django-based web application would best fit the library’s needs for scalability and reliability.
  • Researched hardware compatibility for barcode scanners and Raspberry Pi hosting.
  • Drafted an outline of key database entities (Books, Locations, Inventory, Sales).
  • Met with the project advisor to review deliverables and confirm milestone dates.
Challenges:
  • Choosing between a local-only or cloud-synced database structure.
  • Balancing ease of use for volunteers with technical maintainability.
Next Steps:
  • Begin wireframing the user interface for basic inventory entry and search.
  • Set up the initial Django environment and repository structure.
  • Finalize the entity-relationship diagram (ERD) for the database.

Week 2 Progress Report

Summary:
This week focused on system design and environment setup. The goal was to move from concept to early prototype by establishing the development stack and user flow for adding and managing books.

Tasks Completed:
  • Installed and configured Django and supporting packages (SQLite, REST framework).
  • Created the initial project structure and a GitHub repository for version control.
  • Built preliminary models for Book, Inventory, and Location tables.
  • Designed the first version of the ERD and refined field relationships (e.g., genre, condition, quantity).
  • Started designing a basic UI mockup showing the inventory dashboard and entry form.
Challenges:
  • Integrating barcode scanning input into the local development environment.
  • Ensuring the interface layout remains accessible and readable for all users.
Next Steps:
  • Implement and test basic CRUD functionality for inventory items.
  • Begin developing the front-end interface for book lookup and entry.
  • Prepare for prototype testing scheduled for Week 4.

Week 3 Progress Report (September 23–27)

Summary:
This week focused on continuing early development of the inventory system and refining the user interface layout for core pages.

Tasks Completed:
  • Implemented basic CRUD functionality for book entries within the Django backend.
  • Created the first functional version of the book list page, including database integration.
  • Continued refining UI wireframes to match volunteer usability needs.
  • Identified additional fields needed for inventory tracking based on earlier feedback.
Challenges:
  • Some layout adjustments required more time than expected due to template structure changes.
Next Steps:
  • Begin enhancing the visual design with CSS in the upcoming weeks.
  • Prepare questions for mentor regarding UI layout and workflow decisions.

Week 4 Progress Report (November 3–7)

Summary:
This week's focus was on improving the user interface for the book list page and maintaining communication with my project mentor.

Tasks Completed:
  • Sent an update email to my mentor regarding project progress and next steps (no response yet).
  • Added CSS styling to the book list page, improving its appearance from a plain layout to a more professional, user-friendly design.
  • Adjusted table spacing, fonts, and color scheme for better readability.
Challenges:
  • Lack of feedback from mentor delayed some design confirmation decisions.
Next Steps:
  • Wait for mentor response and adjust design based on feedback.
  • Continue refining UI consistency across other pages in the system.

Week 5 Progress Report

Summary:
This week I focused on following up with my mentor and aligning the book list page with the updated styling from Week 4.

Tasks Completed:
  • Contacted the library mentor again via email to request feedback and confirm project direction (still no response).
  • Updated the book list HTML structure so it works correctly with the new CSS created in Week 4.
  • Cleaned up some elements in the template (classes/tags) to improve consistency and layout.
Challenges:
  • Continued lack of response from the mentor, which limited feedback on design and functionality decisions.
Next Steps:
  • Continue refining the UI on other pages to match the updated style.

Week 6 Progress Report (November 17–21)

Summary:
Due to ongoing communication issues with the library mentor, no meaningful progress was able to be made this week.

Tasks Completed:
  • Was not able to proceed without communication from the library.
  • Check email for any response from the library (none received).
Challenges:
  • Continued lack of communication from the library prevented advancement on UI decisions and feature priorities.
Next Steps:
  • Try reaching out again after the break or through an alternative contact method.
  • Resume development once guidance or confirmation from the mentor is received.

Week 8 Progress Report (November 17–21)

Planed out the rest of the semester and determined remaining tasks for the project.

Week 9 Progress Report (Due January 30)

Summary:
During Weeks 9–10 of the capstone project, our team continued development and refinement of the inventory database system for the two Whale's Tale Bookstores locations (Mills and Belmar). The primary focus this period was strengthening the project design, clarifying system requirements with the client, and advancing the technical framework for the database and user interface.

Accomplishments This Period:
  • Refined the overall database structure to better support inventory tracking by location, quantity, condition, and genre.
  • Continued planning for ISBN/UPC barcode scanning integration, including determining how scanned data will populate database fields automatically.
  • Clarified required features such as manual item entry, price history tracking, and customer holds.
  • Made progress on backend planning using Django, including defining models and relationships needed for books, locations, and inventory counts.
  • Collaborated with team members to review project milestones and confirm alignment with the target implementation timeline.
Challenges and Solutions:
  • One challenge this period was balancing the number of required features with project time constraints. To address this, the team prioritized core functionality—accurate inventory tracking and location management—before secondary features such as advanced reporting. This helped keep development focused while still meeting client expectations.
Next Steps:
  • Begin implementing core Django models and database tables.
  • Start prototyping the basic user interface for inventory entry and lookup.
  • Test barcode scanner compatibility with the planned hardware setup.
  • Continue coordinating with the client to confirm workflow expectations for daily inventory use.
Reflection:

This biweekly period was important for solidifying the technical direction of the project. While much of the work focused on planning and structure rather than visible features, it laid the foundation for efficient development in the coming weeks. The project is currently on schedule, and the team is prepared to transition into more hands-on implementation.

Progress Report 10 (Due February 13)

Summary:
Updated site styling and made minor backend improvements. CSS changes focus on responsiveness and visual consistency; backend tweaks strengthen contact input validation and logging.

Tasks Completed:
  • Frontend: Adjusted global CSS variables and spacing to improve layout across breakpoints.
  • Frontend: Refined card, form, and header styles for clearer visual hierarchy and better small-screen behavior.
  • Backend: Tightened input validation and added basic error logging to the contact endpoint (`functions/api/contact.js`).
  • Testing: Performed local smoke tests for page rendering, responsive behavior, and contact submission flow.
Testing:
  • Manual smoke tests: site loads, updated styles render correctly, contact form submits successfully to the local endpoint.
Impact / Risk:
  • Low risk — changes are incremental and backward-compatible. Recommend monitoring logs for validation errors after deploy.
Next Steps:
  • Run CI and the full test suite, then deploy to staging.
  • Monitor logs for 24–48 hours and address any issues that appear.

Contact