Skip to content

fac28/roots

Repository files navigation

Roots - Your Gardening Companion

Introduction

Roots is an innovative app that's designed to streamline your gardening process. We understand the joy and challenges that come with planning a vegetable garden. Our app aims to simplify the task by providing a month-by-month guide to managing your garden, tailored to the vegetables you choose to grow. The motivation behind Roots is simple: to make planning and maintaining vegetable patches hassle-free and enjoyable.

Deployed here Roots

Installation

To get started with Roots, follow these installation instructions:

Clone the Repository

git clone https://github.com/fac28/roots.git
cd roots

Start the server

npm install
npm run dev

The development server will be running, and you can access Roots at http://localhost:3000.

Project Scope

The core functionality of Roots is centered around garden planning, not social networking. We've carved out a niche in the garden planning space by focusing solely on the tools that gardeners find most useful. The feature set for Roots was refined through a combination of user testing and expert advice, ensuring we deliver a product that resonates with the needs of our target audience.

Project Plan

Sprint Structure

Our development cycle is comprised of agile one-week sprints. Each project phase is meticulously planned:

  • Design Week: Laying out the user interface and experience.
  • Build Weeks: Split into two segments where the core functionality, like the landing page, vegetable search, and user dashboard, are developed.
  • Continuous Improvement: Post-sprint retrospectives and student-guided conversations (SGC) ensure we stay aligned with user needs and industry standards.

Build Order

Our build strategy prioritizes the most critical features first. We're launching with:

  1. Landing Page: The first point of interaction for users, designed to be inviting and informative.
  2. Vegetable Search Functions: To help users find the vegetables they want to grow and understand the tasks associated with them.
  3. Dashboard: A personalized space for users to track their garden's progress and upcoming tasks.

User Research Impact

User input is invaluable to our process. Features like route suggestions and interface simplification were directly influenced by feedback from our target demographic. This insight has been instrumental in shaping a user-centric product that adds real value to our users' gardening activities.

Testing

Run npm run test:e2e for end to end testing using Playwright (in file tests). You will need the browser running in the background (npm run dev) for the tests to pass. Run npm run test:unit for unit testing using Jest (in file ** tests **)

Recommendations and Conclusions

What features would you prioritize to build next?

In order to enhance the Roots app and provide a more comprehensive gardening planning experience, we recommend prioritizing the following features for future development:

  1. Weather Integration: Integrating real-time weather data to provide personalized recommendations based on local weather conditions. This would help users plan their gardening activities more effectively.

  2. Plant Database Expansion: Expanding the plant database to include a wider variety of vegetables, herbs, and fruits, as well as adding detailed information on each plant's specific care requirements.

  3. User Community: Implementing a community feature that allows users to share their gardening experiences, tips, and photos, fostering a sense of community among gardening enthusiasts.

  4. Garden Journal: Adding a feature for users to keep a digital gardening journal, enabling them to track their garden's progress and learn from previous seasons.

  5. Push Notifications: Implementing push notifications to remind users of upcoming gardening tasks and to provide timely gardening advice.

  6. Garden Planning Templates: Providing pre-designed garden planning templates for users with varying levels of gardening expertise, making it easier for beginners to get started.

Was the project a success?

The success of the Roots app can be measured by its ability to meet the following key objectives:

  • User Engagement: The app should have a growing user base, with active engagement in planning and managing their gardens.

  • User Satisfaction: Positive feedback and ratings from users, indicating that the app is fulfilling their gardening planning needs effectively.

  • Feature Adoption: High adoption rates for core features such as plant selection, task management, and seasonal planning.

  • Data Accuracy: Accurate and up-to-date information on plant care and gardening tasks.

  • Community Growth: The growth of a thriving gardening community within the app.

Software Development Lifecycle Stages

Planning

What roles did your team take on?

Our development team consisted of the following roles:

  1. UI/UX Designer: Designed the user interface, ensuring a seamless and visually appealing user experience.

  2. Scrum Facilitator: Took the lead with organisation and keeping everyone motivated and on track.

  3. QA Tester: Conducted testing and quality assurance to identify and resolve bugs and issues.

  4. DevOps: Deployed the site.

Did these roles help your team work effectively?

Yes, having clearly defined roles and responsibilities helped our team work effectively. It ensured that each team member had a specific focus, reducing overlap and miscommunication. Collaboration between roles, such as the product manager and UI/UX designer, was crucial to aligning the product's design with user needs and priorities.

Analysis

What might be the intended and unintended consequences of building this product?

Intended Consequences:

  • Improved Gardening Knowledge: Users can become more knowledgeable about gardening through the app's educational content.
  • Better Garden Planning: Users can plan their gardens more effectively, resulting in healthier and more abundant harvests.
  • Community Building: The app can foster a sense of community among gardening enthusiasts, allowing them to share knowledge and experiences.

Unintended Consequences:

  • Overreliance on Technology: Some users might become overly dependent on the app for gardening guidance, potentially neglecting the hands-on experience of gardening.
  • Privacy Concerns: Collecting user data for personalized recommendations may raise privacy concerns if not handled transparently and securely.
  • Environmental Impact: Encouraging gardening may have a positive impact on the environment, but there could be unintended environmental consequences if users don't follow sustainable practices.

By addressing the intended and unintended consequences, we can continue to refine and improve the Roots app, ensuring that it remains a valuable tool for gardeners while mitigating any potential drawbacks.