Project Overview:
Our team embarked on a 4-week journey to address a problem outlined in a given brief: creating a full-stack application to tackle a specific issue. Initially aiming to facilitate the buying and selling of homegrown veggies, we later pivoted our focus. Before delving into the project, we formed teams, with a mix of familiar faces and new collaborators. Our teamwork strategies included coin-toss and dot-voting for decision-making, backed by a Teamwork manifesto emphasizing open communication, daily stand-ups, and energizers using online games like Gartic.
Discovery Phase:
During the Discovery Phase, we prioritised understanding the problem, the users, and existing solutions. This led to the creation of User Personas, highlighting two core users: buyers of fresh food and sellers of homegrown produce. The initial problem statement centered on excessive food, lack of sharing, and community support. User interviews and a survey were conducted, revealing a need for a knowledge-based application for novice gardeners. We refined our problem statement accordingly.
Solution Development:
With a scaled-back project scope, we focused on a knowledge-based app for novice gardeners and tracking food growing. Agile methodologies guided our development, and we continuously deployed to achieve early feedback. The chosen tech stack included TypeScript, React, Next.js, Supabase, Chakra, and Vercel, supported by Jest and Playwright for testing. GitFlow ensured a structured workflow, and a CI/CD pipeline streamlined deployment.
Learnings:
Deploying early revealed crucial environment differences and streamlined bug fixing. GitFlow and CI/CD were instrumental in maintaining a stable main branch. The team acquired valuable insights into TypeScript, Next.js complexities, and the importance of wider community feedback.
Successes:
Frequent deployments, agile practices, pair programming, and efficient conflict resolution were key successes. Realistic MVP goals allowed for focused refinement, and continuous feedback loop fostered improvement.
Future Plans:
Our future plans include enhancing form and password validation, implementing a more precise growing calendar, and exploring trading functionalities using WebSockets or integrating an AI helper for recipes. The team is poised for continuous improvement and expansion of features based on user needs and feedback.
Harvest.Hub.Promo.Video.mp4
Here're some of the project's best features:
- User generated tips and tricks exchange
- Ability to favourite tips and tricks
- Static calendar with growing information
- Interactive calendar for planting and harvesting
- Search function
- User page with ability to upload a profile picture
1. Clone repo
git clone https://github.com/pathirny/HarvestHub.git
2. Install packages
npm run install:all
3. Navigate to subdirectory
cd harvesthub/
4. Run build
npm run build
5. Start in local environment
npm start
Technologies used in the project:
TypeScript |
React |
Next.js |
Chakra UI |
CSS |
Supabase |
TS Jest |
Playwright |