Skip to content

Repository files navigation


NURISHED

This documentation is a detailed step-by-step breakdown of the planning, design, development, testing & validation, and deployment of Nurished, the ultimate online platform for culinary enthusiasts. Built with Django, HTML, CSS and PostgreSQL, Nurished is designed to create a vibrant community where every recipe is a new adventure.

Explore the docs »

Table of Contents

SECTION 1: INTRODUCTION
  • About The Project
  • User Experience (UX)
  • User Stories
  • Technology Stack
  • Languages, Frameworks and Libraries
  • Project Management and Development Approach
  • SECTION 2: PROJECT SETUP
  • Prerequisites
  • Installation
  • SECTION 3: PROJECT FEATURES AND STRUCTURE
  • Features
  • Structure and Navigation
  • Wireframes
  • Design and Styling
    1. Design
    2. Color
    3. font
    4. media
  • SECTION 4: TESTING AND VALIDATION
  • Testing
  • Validation
    1. HTML Validator Report
    2. CSS Validator Report
  • User Story Testing
  • Bugs and Issues
  • SECTION 5: DEPLOYMENT AND CREDITS
  • Final Product
  • Credits
    1. Template
    2. Content
    3. Media
  • Acknowledgments
  • Contact
  • SECTION 1: INTRODUCTION

    This section contains summary information about the project, the user expections and tools used in building this solution.

    About The Project

    Nurished

    Product Screenshot

    User Experience (UX)

    Nurishedis an innovative online platform designed to bring together a vibrant community of culinary enthusiasts. The primary goal of Nurished is to allow users to discover, share, and discuss a wide variety of recipes tailored to their dietary preferences, cuisines, and cooking skills. Users can explore new recipes and contribute their own culinary creations, complete with detailed instructions and ingredient lists.

    Key features of the project that makes it unique includes:

    • Comprehensive Recipe Management: Nurished offers a robust system for users to upload, edit, delete, and manage their recipes, providing a flexible and user-friendly experience.

    • Advanced Search and Filter Options: The platform’s advanced search and filtering capabilities make it easy for users to find recipes that match their specific dietary preferences, ingredients, and cooking skill levels.

    • Educational Resources: Access to ingredient substitutions and cooking tips helps users improve their culinary skills and adapt recipes to their needs, enhancing the overall cooking experience.

    • Organized Recipe Collections: Users can organize their saved recipes into collections (e.g., Breakfast, Desserts) for easier access and management, helping them keep their favorite recipes neatly categorized.

    • Personalized Content: From weekly newsletters to personalized feeds, Nurished ensures that users receive content tailored to their interests and preferences.

    You can view the deployed website here

    User Stories

    • As a user, I want to create a profile so that I can manage my recipes and interact with the community.
    • As a user, I want to upload my own recipes, including ingredients, preparation steps, cooking time, and serving size so that I can share my culinary creations with others.
    • As a user, I want to search for recipes based on ingredients, cuisine, dietary preferences, cooking time, and difficulty level so that I can find recipes that suit my needs.
    • As a user, I want to save my favorite recipes to my profile so that I can easily find and revisit them later.
    • As a user, I want to view ratings and reviews for a recipe so that I can determine if it’s worth trying.
    • As a user, I want to rate recipes I have tried so that I can share my opinion and help others decide if they want to try the recipe.
    • As a user, I want to write reviews for recipes I have tried so that I can provide detailed feedback to the recipe creator and other users.
    • As a user, I want to follow other users so that I can see their new recipes and updates in my feed.
    • As a user, I want to comment on recipes to ask questions or share tips with the recipe creator and other users.
    • As a user, I want to edit my recipes after uploading so that I can make corrections or improvements.

    Technology Stack

    This subsection outlines the technologies, frameworks, libraries, and tools used in the development of this project. It provides insight into the foundational components that power "**Nurished**". Add-ons ad plugins are captured in the acknowledgements subsection.

    Languages, Frameworks and Libraries

    Project Management and Development Approach

    This project was implemented using the Agile Manifesto methodology. Below are the ways this project adhered to the 4 core values and 12 core principles of the aforementioned method:

    Four Values of the Agile Manifesto:

    • Vision 1: Customer collaboration over contract negotiation: The Team held 16 Hurdles through Slack Platform, ensuring alignment with user needs and prioritizing features through user story mapping.

    A screenshot of a one of the team's huddles through slack.

    Screenshot of the team's huddle

    • Vision 2: Responding to change over following a plan: Throughout the project, the team managed GitHub issues + GitHub issues GitHub issues, adapting to changing requirements and feedback iteratively.

    • Vision 3: Working software over comprehensive documentation: We achieved 16 story points across 1 sprint, emphasizing the focus on delivering functional software increments.

    A screenshot of Github activities ilustrating collaborative environment.

    A screenshot of Kanban Board.

    Screenshot of the team's huddle

    • Vision 4: Individuals and interactions over processes and tools: Daily interactions on GitHub led to 29 commits, fostering collaboration and knowledge sharing among team members.


    Twelve Principles of the Agile Manifesto

    • Satisfy the customer: Held regular meetings to ensure alignment with user stories.
    • Deliver working software: Prioritized delivering functional increments in each sprint, allowing for early feedback.
    • Welcome changing requirements: Maintained open communication channels and adapted plans iteratively.
    • Collaborate daily: Conducted daily standup, catchup and stand-down to facilitate collaboration and problem-solving.
    • Face-to-face conversation: Utilized over 15 virtual meetings through slack huddle to enhance clarity and understanding.
    • Motivated individuals: Empowered team members through skill development and recognition.
    • Measure progress through working product: Evaluated progress based on delivered functionality in each sprint.
    • Promote sustainable development: Prioritized sustainability practices to ensure long-term success.
    • Simplicity is essential: Used MoSCoW prioritization and focused on MVP delivery to avoid unnecessary complexity.
    • Continuous attention to technical excellence: Adopted show and tell technique to ensure all team members learn while collaborating.
    • Self-organizing team: Encouraged autonomy and collaboration within the team.
    • Regular reflection on continuous improvement: Conducted regular retrospectives to identify areas for improvement.

    (back to top)

    SECTION 2: PROJECT SETUP

    In this section, a detailed account of all requirements needed for Quid Pro to be setup and running. It also includes installation instructions and a link to all necessary documentations for these tools.

    Prerequisites

    Quid Pro does not rely on any external dependencies or services.

    (back to top)

    SECTION 3: PROJECT FEATURES AND STRUCTURE

    This section encompasses the various elements and functionalities aimed at enhancing the user experience and achieving the goals of Nurished. It outlines the key features and structural components intended to provide users with a seamless and informative journey through the platform.

    Features

    Nurished is packed with several key features that make it a unique. Here are the main features that define the Nurished experience:

    1. User Profiles:

    • Users can create and customize profiles to manage recipes and interact with the community.
    • Profile customization includes adding a picture and bio for personalization.

    2. Recipe Management:

    • Upload, edit, and delete recipes with detailed information on ingredients, preparation steps, cooking time, and serving size.

    3. Search and Filter:

    • Advanced search capabilities allow users to find recipes based on ingredients, cuisine, dietary preferences, cooking time, and difficulty level.
    • Filters enable quick navigation through search results.

    4. Recipe Interaction:

    • Save favorite recipes for easy access.
    • Organize saved recipes into collections like Breakfast or Desserts.
    • Rate and review recipes to share feedback and help others decide on recipes to try.
    • View ratings and reviews to assess recipe popularity and quality.

    5. Social Features:

    • Comment on recipes to engage with creators and other users.
    • Follow other users to stay updated on their new recipes and activities.
    • Personalized user feed showcasing updates from followed users.

    6. Additional Features:

    • Subscribe to a weekly newsletter featuring new and popular recipes.
    • Share recipes via social media platforms directly from the site.
    • Report inappropriate content to maintain a positive community environment.
    • Access ingredient substitutions and cooking tips to enhance culinary skills.

    Structure and Navigation

    - **Project Structure**

    1. Backend:

    • Built with Django, handling server-side logic, database management (PostgreSQL), and user authentication.
    • Utilizes Django REST Framework for creating APIs.

    2. Frontend:

    • Developed without React for a dynamic and responsive user interface.
    • UI components designed using Bootstrap for a visually appealing experience across devices.

    3. Deployment:

    • Deployed on Heroku for scalability and accessibility.

    • Uses SQLite PostgreSQL for database storage.

    • File Organisation

      • The files where structured into folders and clustered based on functionality. Also file naming convention that reflects the functions of the conetent of the file was adopted.

    Wireframes

    File Organisation Tree

    Home Page

    Mobile View - Home Page

    Design and Styling

    Design

    Nurished provides a comprehensive platform for culinary enthusiasts to explore, share, and discuss recipes. With a focus on user-friendly features like robust recipe management, advanced search options, and interactive social capabilities, Nurished fosters a vibrant community centered around culinary creativity and discovery.

    Color

    • #dac4fb (Purple) - We chose this color to have a welcominng background.

    Font

    • main font: Reddit Mono
    • Secondary font - Monospace

    (back to top)

    SECTION 4: TESTING AND VALIDATION

    - In this section, the functionalities of the final product was tested and validated to ensure consistency with user stories.

    Testing

    • Browser Compatibility Testing: Ensured compatibility with Chrome, Opera, Microsoft Edge, and Firefox desktop browsers.

    • Responsiveness Testing: Utilized Chrome Developer Tools to verify responsiveness across multiple devices: Desktop, Laptop, Moto G4, Galaxy S5, iPhone 5/SE, iPhone 6/7/8, iPhone 6/7/8 Plus, iPad, iPad Pro, Galaxy Fold

    h2 id="validation">Validation

    The W3C Markup Validator and W3C CSS Validator Services were used to check my code for syntax errors in this project.

    • CSS W3C Validator: I checked each page by direct input method on HTML validator site. No error or warning message was encountered following this test.

    HTML Validator Report

    • No error or warning message was encountered following this test.
    • We did have some errors originaly but we fixed them as it was as simple as "change image to img"

    CSS Validator Report

    • No error or warning message was encountered following this test.

    SECTION 5: DEPLOYMENT AND CREDITS

    -In this section, the tested and validated product will be deployed and external resources used during this exercise will be mentioned.

    Final Product

    Home Page on various screens

    • Add images of various sections of the final product as above.

    Credits

    Template

    Content

    • All content was written by Ikenna Egwim.

    Media

    Acknowledgments

    Use this space to list individuals, groups or resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

    Contact

    (back to top)

    About

    No description, website, or topics provided.

    Resources

    Stars

    0 stars

    Watchers

    1 watching

    Forks

    Releases

    Packages

    Used by

    Contributors

    Languages