James Hendershott

Case study

Recipe Application (CS 3650 Team Project)

A collaborative recipe management application built as a team project for CS 3650. Features recipe storage, search, and sharing capabilities. Private repository.

Team ProjectWeb DevelopmentDatabaseCollaboration

Overview

Recipe Application was a semester-long team project for CS 3650, focused on building a full-featured recipe management system. The application allows users to store, search, organize, and share their favorite recipes in a centralized platform.

Role & Stack

Team member working on [specific features - adjust based on your actual role] in collaboration with classmates. Built using modern web technologies with a focus on user experience and data management.

Repository Note

This is a private repository as it was a collaborative academic project. Code access can be requested for review purposes.

Repository: https://github.com/CameronTrejo/CS3650RecipeApplication.git

Problem

Home cooks and food enthusiasts often struggle with:

  • Recipes scattered across multiple platforms (websites, books, notes)
  • Difficulty searching their personal recipe collection
  • No easy way to share recipes with friends and family
  • Lack of organization by category, cuisine, or dietary restrictions

Solution

Developed a web-based recipe management system with:

  • User authentication and personal recipe collections
  • Advanced search and filtering capabilities
  • Recipe categorization (cuisine type, meal type, dietary tags)
  • Ingredient lists with shopping list integration
  • Step-by-step cooking instructions
  • Recipe sharing features
// Example: Recipe data structure
const recipe = {
  title: "Recipe Name",
  author: "User ID",
  ingredients: [
    { name: "Flour", amount: "2 cups" },
    { name: "Sugar", amount: "1 cup" }
  ],
  instructions: ["Step 1", "Step 2", "Step 3"],
  tags: ["dessert", "vegetarian"],
  prepTime: 15,
  cookTime: 30,
  servings: 4
}

Key Features

  • User Management: Registration, login, and profile management
  • Recipe CRUD: Create, read, update, and delete recipes
  • Search & Filter: Find recipes by ingredients, tags, or keywords
  • Collections: Organize recipes into custom collections
  • Responsive Design: Works on desktop and mobile devices

Team Collaboration

Working on this project taught valuable lessons in:

  • Version control with Git (branching, merging, pull requests)
  • Code review processes
  • Dividing work among team members
  • Communication and coordination
  • Integrating different components

Results

  • Functional recipe management system with complete CRUD operations
  • Gained experience in team-based software development
  • Learned to navigate merge conflicts and integration challenges
  • Successfully delivered a working application on schedule

What I Learned

  • Collaborative development workflows
  • Importance of clear communication in teams
  • Database design for relational data (recipes, users, ingredients)
  • Testing integration points between team members' code
  • Time management and milestone planning
  • Balancing individual contributions with team goals

Technical Challenges

  • Synchronizing database schema changes across the team
  • Ensuring consistent code style and conventions
  • Managing dependencies and avoiding conflicts
  • Testing integration of independently developed features