Cookie Bytes

Team Name

Cookie Bytes

Timeline

Fall 2024 – Spring 2025

Students

  • Nguyen Hau – Computer Science
  • Johany Flores – Computer Science
  • Vince Mai – Software Engineering
  • Abner Koffi – Computer Science
  • Ivan Ramirez – Computer Science

Sponsor

Dr. Shawn Gieser

Abstract

The Girl Scout Cookies App is a website that will manage the orders and inventory of girl scout
cookies. The app will allow girl scouts and their parents to place, track, and manage their orders
of cookies as well as redeem rewards based on the amount of points they have earned. The
troop leader will be able to view all the orders of their group of girl scouts, manage their
inventory, and communicate with the girl scouts on when their orders are ready to be picked up.
The troop leader will also be able to customize a rewards page for their group of girl scouts.
Some of the information in this document such as the figures was referenced from the system
requirement specification and architectural design documents.

Background

The troop leader and cookie manager are currently overwhelmed by the high volume of cookie
orders, with no organized system in place to manage them effectively. At present, Girl Scouts
communicate their orders through text messages or emails, making it difficult for the troop
leader to keep track of incoming orders, as each message must be manually reviewed. This
disorganized method becomes increasingly unsustainable as order volume grows. Moreover,
there is no efficient way to track which scouts are selling the most cookies, hindering efforts to
recognize and reward top sellers. In response to these challenges, the sponsor has tasked our
team with developing a streamlined solution that allows troop leaders to manage all cookie
orders from a single page and generate detailed report forms. Additionally, cookie managers
should be able to access both historical and real-time data on scout orders, and generate
graphs and reports for better insight. The proposed system will also include a website form that
allows Girl Scout troops to place orders directly, sending them automatically to their troop
leader. Currently, there are no plans for an ongoing relationship between the development team
and the customer.

Project Requirements

  • PLACING ORDERS: Scouts and parents will have access to the cookie ordering page where they can select and submit an order of cookies that they will need.
  • COOKIE LIST EDITING: The cookie manager will have the ability to edit the cookie list and add or remove certain cookies from being ordered and/or data for said cookies from being displayed.
  • PLACING BOOTH RESERVATIONS: The cookie manager will have the ability to add booth locations for scouts to sell cookies. The troop leader will be able to select a location from a list from the cookie manager for their scouts to reserve. Scouts can reserve a booth from a list of locations provided by their troop leader.
  • COOKIE MANAGER ORDER ACCESS, VIEW, AND SORTING: The cookie manager should be able to view all orders placed by parents and access certain orders via a specified date range. They will also be able to view orders at the scout level.
  • DATA VISUALIZATION: Parents, scouts, and the cookie manager will be able to see data on popular orders, which cookies sell well, and vice versa. They will also receive recommendations on cookies to order depending on past trends.
  • ANNOUNCEMENTS: There will be a messaging system in place that will use email or a phone number to send announcements to parents and scouts.
  • REWARDS: A rewards page will be available to encourage scouts and parents to sell more cookies.

Design Constraints

  • Standards: System should comply with CAN-SPAM Act and ECPA for managing
  • email/SMS-based notifications and announcements.
  • Schedule: Given the seasonal nature of cookie sales, development must align with a fairly strict
  • timeline to ensure functionality is delivered ahead of the upcoming cookie season.
  • Legal Precautions: Due to the possibility of minors being on the app, the system must take
  • precautions to avoid storing sensitive personal information unnecessarily.
  • Scalability: Backend should be designed to handle increased load during peak cookie season.
  • Safety & Welfare: To ensure digital safety of users, RBAC should be properly implemented so
  • that only authorized users can view or manage sensitive data, reducing the risk of misuse.

Engineering Standards

  • Authentication and Encryption/Security Standards: System uses RBAC and firebase authentication to protect sensitive user data using NIST SP800-63B guidelines. Data stored in the system’s database is encrypted using AES-256 encryption
  • IEEE 2001: The software design process and documentation follow the IEEE 2001 standard for software engineering to ensure proper lifecycle support.
  • ECPA Act: Software ensures that electronic communications such as messages between users are protected from unauthorized access/monitoring
  • CAN-SPAM Act: System complies with CAN-SPAM Act mandating clear identification of messages.
  • Programming/Web Development Standards: Application follows W3C Web Standards and ECMA standards for HTML/CSS/JavaScript and any scripting behavior to ensure cross-platform compatibility, accessibility, and responsive design for users on any device.

System Overview

The system contains three main layers: the UI, Backend, and Database layers. The UI layer
handles user interactions such as placing and managing cookie orders, displaying information to
users, and ensuring smooth and consistent navigation between web pages. It also captures
input data from users and sends requests to the Backend layer to retrieve data from the
Database layer. The Backend layer manages communication between the UI and Database
layers, handling functions such as authentication, business logic, cloud functions, and data
fetching when users request specific actions. The Database layer stores key data, including
user information, inventory, cookies, and orders, as well as the files required for the website to
function. It is responsible for retrieving and sending requested data to the Backend layer, which
then delivers it to the UI layer.

Results

Future Work

  • Mobile application, where the mobile app would be having all the core features from the web application. Both the website and mobile app would be connected to the app to ensure a seamless integration.
  • Adding in more QoL changes to our current existing pages, improving user experience and creating a better workflow.

Project Files

Project Charter
System Requirements Specification
Architectural Design Specification
Detailed Design Specification
Poster

References

“Cookie Management App,” Cookiemanagement.com, 2023.
https://www.cookiemanagement.com/ (accessed Jan. 25, 2025).\

“Flowbite React – UI Component Library,” flowbite-react.com.
https://flowbite-react.com/docs/getting-started/introduction (accessed Jan. 25, 2025).

“Girl Scout Cookies® | Girl Scouts,” www.girlscouts.org.
https://www.girlscouts.org/en/cookies.html (accessed Jan. 25, 2025).

“Selling with Digital Cookie | Girl Scouts,” www.girlscouts.org.
https://www.girlscouts.org/en/members/for-girl-scouts/for-cookie-sellers/digital-cookie.html
(accessed Jan. 25, 2025).

“Online Cookie Systems Guide for Volunteers,” Girl Scouts of the USA, 2016.
https://www.girlscoutsrv.org/en/members/for-volunteers/articles/online-cookie-systems-guide-for-volunteers.html (accessed Jan. 25, 2025).

Meta Open Source, “React,” react.dev, 2025. https://react.dev/ (accessed Jan. 25, 2025)

Steven McDermott