Skip to content

bellblex/Software-Engineering

Repository files navigation

Fruggies Development Report

Welcome to the documentation pages of Fruggies!

This Software Development Report, tailored for LEIC-ES-2024-25, provides comprehensive details about Fruggies, from high-level vision to low-level implementation decisions. It’s organised by the following activities.

Contributions are expected to be made exclusively by the initial team, but we may open them to the community, after the course, in all areas and topics: requirements, technologies, development, experimentation, testing, etc.

Please contact us! Thank you!


Business Modelling

Business modeling in software development involves defining the product's vision, understanding market needs, aligning features with user expectations, and setting the groundwork for strategic planning and execution.

Product Vision

Section Details
VISION The app promotes sustainable urban gardening and food waste reduction by helping users efficiently manage their home gardens. It fosters a community-driven exchange system that encourages local food sharing, reducing unnecessary waste while promoting self-sufficiency and environmental consciousness.
TARGET GROUP - Urban and suburban home gardeners who grow fruits and vegetables.
- Sustainability-conscious individuals who want to reduce food waste.
- People interested in community engagement and local food exchange.
- Individuals who may lack gardening expertise and need guidance.
NEEDS - Garden Management: Users need a system to track and manage their home gardens, receiving reminders for watering, fertilizing, and other maintenance tasks.
- Food Exchange Platform: A structured way to trade excess produce with nearby users, reducing waste.
- Community Building: Users want to connect with like-minded individuals to share tips, products, and experiences.
- Privacy & Security: The exchange system should maintain user privacy while allowing safe interactions.
PRODUCT - Garden Management: Track what you plant, get reminders, and monitor growth.
- Produce Exchange: Find nearby gardeners to trade excess fruits and vegetables.
BUSINESS GOALS (Nothing)

Features

  • User Authentication
  • Beginner’s Guide to Gardening
  • Garden Maintenance Information
  • Garden Layout Planning
  • Produce Exchange
  • Chat with Other Users

Assumptions

  • People have enough space and availability to keep a garden.
  • There are enough users to make local trading in cities practical.
  • Users are willing to meet other users to trade vegetables & fruits.
  • People prefer homegrown produce and trust other users’ products.

Elevator Pitch

Some people might be scared to start a garden because of how intricate it seems to know how to take care of every plant and keep up with the watering, but with Fruggies, everything is simpler.

With this app you’ll be able to plan you garden accordingly and the app takes care of the rest. All you need to know about your garden will be on this app, what plants shouldn’t be next to each other, the amount of sunshine it takes to make your plant thrive, and much more.

But Fruggies isn’t just a planning and organizing app! We also offer a way to manage your harvested vegetables and fruits. To promote sustainability we have implemented an exchange feature, where you can locally exchange your produce with other users.

With Fruggies you can keep up with your garden and exchange your produce with others, reducing waste while enjoying a variety of homegrown food.

Requirements

User Stories

Category Epic User Stories
🔐 Registered Users (Part I) As a registered user, I want to explore other users profiles , so that I can view their available products and assess their trustworthiness. - As a registered user, I want to select products from my garden so that I can add them to my catalog so that others can see what I have available for exchange.
- As a registered user, I want to see other users catalogs so that I can select and add products to my exchange Wishlist.
- As a registered user, I want to see other users reviews on a users profile so I know if I should trust this user to make an exchange.
🔐 Registered Users (Part II) As a registered user, I want to manage my account and catalogue so that I can personalize my information and preferences. - As a registered user, I want to be able to see my catalogue and edit its contents.
- As a registered user, I want to edit my profile so that I can manage my information and preferences.
🌱 Virtual Garden As a registered user, I want to manage my virtual gardens so that I can create an optimized layout for each one and easily organize my products. - As a registered user, I want to receive alerts when placing incompatible plants next to each other so that I can avoid poor garden planning.
- As a registered user, I want to rearrange and remove products and slots so that I can organize my garden efficiently.
- As a registered user, I want to add products to my garden so that I can manage my resources effectively.
- As a registered user, I want to access product details from the selection page so that I can make an informed decision before adding a product to my garden.
- As a registered user, I want to add, copy, and paste products in my garden so that I can easily place and duplicate items in my layout.
- As a registered user, I should be able to search and filter products in the selection page so that I can find the right product easily.
- As a registered user, I want to manage multiple gardens so that I can keep track of different gardens separately.
- As a registered user, I want to edit the number of rows and columns in my garden so that I can customize my layout easily.
🔎 Search As a registered user,I want to search for specific products near me. - As a registered user, I want to find nearby users to exchange products with so that I can reduce waste and promote local sustainability.
- As a user, I want to search for specific products so that I can quickly find what I need.
💬 Chat As a registered user, I want to have private chatrooms with other users so that I can easily communicate with them. - As a registered user, I want a chat to open automatically when I add a product from another user’s catalogue so that I can communicate easily about the exchange.
-As a registered user, I want to send messages and photos in an individual chat so that I can communicate effectively with other users.
- As a registered user, I want to access a chat page that displays all my conversations so that I can easily manage and navigate my exchanges.
❤️ Wishlist As a registered user, I want to have a product wishlist so that I can manage my desired products and exchange them comfortably. - As a registered user, I want to edit my wishlist directly from the wishlist section, so that I can manage my desired items more efficiently without going through my profile catalogue and edit the quantity I want.
- As a registered user, I want to access my wishlist within the chat so that I can easily propose items for exchange.
🔁Exchange As an registered user , i want to organize product exchanges with other users. As a registered user, I want to accept, decline, or send a counter-offer within the chat inbox so that I can finalize or negotiate the trade efficiently.
- As a registered user, I want to add items from my catalogue when proposing an exchange, so that I can offer them in exchange for products in my wishlist.
-As a registered user, I want to leave a review after an exchange so that I can provide feedback on my experience.
- As a registered user, I want to view pending exchange proposals from other users within our chat so that I can easily review and negotiate the exchange details.

UI Mockups

UIMocks_Fruggie_Final.mp4

Domain model

Architecture and Design

Logical architecture

Physical architecture

Vertical prototype

Project management

Sprint 0

Sprint 1

Project Board

Start of Sprint 1 End of Sprint 2

What should start?
  • Better time-management
  • More communication between members.
  • Accomplishment of all the objectives for the sprint.
What should stop?
  • Poor usage and creation of branches and pull requests.
What should continue?
  • Implement planned features, including finishing the garden.

Sprint 2

Goal: Finish Virtual Garden Epic

Project Board

Start of Sprint 2 End of Sprint 2

Sprint Retrospective #2

What should start?
  • Focus more on testing
What should stop?
  • Inconsistent board management
What should continue?
  • Good communication and time-management

Sprint 3

Goal: Finish Exchange

Start of Sprint 3 End of Sprint 3

Sprint Retrospective #3

What should start?
  • Documenting changes done to already tested features
What should stop?
  • Refactoring already tested code
What should continue?
  • Good communication and time-management
  • Our fast-paced work -->

Final Release

Happineess Meter

https://docs.google.com/spreadsheets/d/1dxAixCsfWOASmvXin4airAkQEPJd9E4ddWjecsOc2tc/edit?gid=0#gid=0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors