Skip to content

Commit e8b9c3c

Browse files
committed
Update Report
Relates #41
1 parent 69be161 commit e8b9c3c

File tree

1 file changed

+61
-14
lines changed

1 file changed

+61
-14
lines changed

REPORT.md

+61-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Introduction
2+
---
23

34
### What are you building?
45

@@ -35,23 +36,24 @@ After feedback from our user research and sprint planning, due to the time const
3536

3637
We decided which features to build based on our discussions with the product owner and considering the time limitation of 2, week-long sprints. Our goal is to deliver a functioning MVP that our product owner can use to demonstrate the future potential of the app.
3738

38-
### Project plan
39+
## Project plan
3940

4041
### How are you going to structure your sprints?
4142

42-
We have divided our main issues into sprint 1 and sprint 2 - in sprint 1 we'll focus on the first two user stories, searching and filtering seeds.
43+
We have divided our main issues into two, week-long sprints. We will focus on delivering an MVP in teh first sprint and then build new features / refine and refactor in the second sprint.
4344

4445
### What order are you going to build in?
4546

46-
We are going to focus on building out the front end first - partly because we are unsure as to whether we will have a database or just a js file with dummy data. We will prioritise key issues first, focus on displaying the seeds to start and then filtering them on the page. The wishlist and growing conditions will be made later on in the sprints.
47+
We are going to focus on building out the front end first, as we do not yet know if the data we need will be available form the PO, or if we will generate dummy data. We will prioritise key issues first, focus on displaying the products and searching/filtering. The wishlist and growing conditions are goals for the second sprint.
4748

4849
### How did user research inform your plan?
4950

50-
User research validated what the most important features are to build - users found the searching clear and easy to use and were able to filter the results without guidance. Users also enjoyed the clean, simple design.
51+
User research validated what will be the most important features to build: users found the searching clear and easy to use and were able to filter the results without guidance. Users also enjoyed the clean, simple design.
52+
5153
User research revealed there was some confusion around the home page and landing page, so we consolidated these two pages into one and refactored our wireframe.
5254
While users were really keen on the growing conditions feature, our own research into available APIs revealed that this wasn't going to be possible for us to build as an MVP.
5355

54-
### Requirement analysis
56+
## Requirement analysis
5557

5658
### How will you ensure your project is accessible to as many users as possible?
5759

@@ -63,28 +65,46 @@ Not at the MVP stage. Moving forward, the product owner will need to consider GD
6365
## Project learnings
6466

6567
### Did your team work effectively?
68+
Yes, we assigned clear team roles and allowed each other the space to work within those roles, whilst still offering help and support and collaborating on more complex challenges. We kept close and open communication, providing honest feedback and also praising each other on achievements. We reviewed each other's code upon merging pull requests and kept all team members informed on changes to the codebase.
6669

6770
### What would you do differently next time?
71+
Communicate the importance of having any data and assets or copy available to the development team by the PO no later than the end of the design phase.
6872

6973
## Research and findings
7074
### What did you find out from user testing?
7175
- Our initial user flow could be narrowed and focused to make the user experience more intuitive by condensing certain sections of the app into one
7276
- Users liked the design of the app and found the UI easy to navigate
7377
## Project outcomes
7478
### Were your assumptions right or wrong?
79+
We received feedback from users and from the development team that will be taking this project forward that has validated our assumptions of the overall design, user journey and core features this product should deliver.
80+
7581
## Recommendations and conclusions
7682
### What features would you prioritise to build next?
83+
Features that were out of scope for this project but could be implemented next are:
84+
85+
- Left sidebar for filters in desktop view
86+
- Relational database and an API for querying
87+
- Web scraped data
88+
- Transform wishlist into a shopping cart
89+
- User authentication
90+
- Climate data and growing conditions
7791
### Was the project a success?
78-
Software Development Lifecycle stages
79-
Planning
80-
What roles did your team take on?
81-
Explain the roles and responsibilities of all people working within the software development lifecycle, and how they relate to the project (K2)
92+
Yes, we built all the features we set out as core features within the build sprints and received positive feedback from our PO.
8293

8394
### Did these roles help your team work effectively?
8495
Yes, dividing the roles amongst us meant that w ecould collaborate efficiently on development and also contribute to the project based on our roles. We all contributed and worked on issues that were associated with all roles with a clear understanding of who was ultimately responsbile for each role.
8596

8697
## Analysis
8798
### What might be the intended and unintended consequences of building this product?
99+
Intended:
100+
- Improve gardener's experience of finding and purchasing seeds
101+
- Track what people are growing and improve biodiversity
102+
- Help gardeners raise successful crops by providing growing conditions information and knowledge
103+
- Improve the business of small, family-owned companies by improving their digital presence and exposing them to new, potential customers
104+
105+
Unintended:
106+
- User data being sold to advertisers or third parties
107+
88108
## Design
89109
### How did you plan a user experience?
90110
We created detailed, high-fidelity wireframes and tested them with users. We iterated over the wireframe design based on usability testing findings.
@@ -95,13 +115,19 @@ Wireframes - Iteration 2
95115

96116
## Implementation/Build
97117
### How did you ensure your code was good?
98-
Create logical and maintainable code to deliver project outcomes, explaining their choice of approach. (S1)
118+
- Testing code to make sure it works as intended
119+
- Frequent refactoring
120+
- Tech spike research
121+
- Following documentation for frameworks and libraries
122+
- Following file naming and structure conventions
123+
- Asking for code review from mentors
99124

100125
### What interesting technical problems did you have to solve?
101126
- Dynamic Routing in Nextjs (with no backend)
127+
- Using React Context to pass state between Next.js pages
102128
- Managing many React states
103129
- Filtering user search results
104-
- Generating a set of dummy data
130+
- Generating a set of dummy data with Chance library
105131
- Resolving package-lock.json conflicts
106132
- Using Web Storage API with React
107133

@@ -113,17 +139,38 @@ Create logical and maintainable code to deliver project outcomes, explaining the
113139

114140
## Test
115141
### How did you verify your project worked correctly?
116-
Identify and create test scenarios which satisfy the project specification (S6)
142+
- Manual testing during development
143+
- Cypress end-to-end testing
144+
- Logging React states to ensure they are being passed into components cand pages correctly
145+
- Reviewing deployment at stand up to catch bugs
146+
- ESlint to catch syntax errors
117147

118148
### Did writing automated tests catch any bugs?
119-
Analyse unit testing results and review the outcomes, correcting errors. (S4)
149+
We used Cypress for end-to-end testing. As we were building an MVP, we chose to test the "happy path" to ensure that the core features and functionalities of the desired user flow were working correctly.
150+
151+
There is room for improvement by testing edge cases and writing unit tests for helper and database functions.
120152

121153
## Deploy
122154
### Where/how did you deploy your application?
123-
- Vercel
155+
As the project was built with Next.js, we opted for deployment with Vercel for optimal performance and compatibility. Vercel also provided helpful debugging logs and an easy handover process.
124156

125157
### What problems did you encounter during deployment?
158+
159+
We deployed the project successfully at the time of setup. This approach ensured that whenever deployment broke, it was clear what changes to the code had caused the failed build.
160+
161+
By using tools like ESlint, we managed to keep build fails to a minimum. With the help of the Vercel logs, we were able to debug and fix failed builds quickly.
126162
## Maintain
127163
### Is it easy for someone make changes to the codebase?
164+
Yes, we have provided installation and development instructions and tech stack details in the project's README.
165+
166+
We strived for an organised and clear codebase by following file naming conventions and grouping files in appropriate folders.
167+
168+
Our project Kanban board clearly describes what issues and features that have been completed and which commits are linked to which issue.
128169

129170
### Could a new person quickly be onboarded to contribute?
171+
172+
Yes, as the codebase is still relatively small, a new developer could get to grips with it in a matter of hours.
173+
174+
We have developed a design framework of CSS variables and reusable styled components which a developer could use to build a new feature quickly.
175+
176+
A new developer can also use our commit message template to align with our workflow.

0 commit comments

Comments
 (0)