Home - atishay2305-hub/LeafLog GitHub Wiki
Welcome to the LeafLog wiki!
Project Charter
Project Overview
LeafLog is intended to help plant owners care for and understand their plants. The system will keep track of what plant the user has, as well as their environment. Users can enter all the specific for their plant, including the species, pot size, and location. It will remind the user to water the plant, and to move the plant depending on the weather (for example when the weather is cold, the app can notify you to bring plants inside). Further features could include information about commonly found house-hold plants, further recommendations for the betterment of the plant, common tips and tricks for your plant friends and more.
Team Roles
- Project Lead: Mikayla Mount
- Requirements Engineers: Caitlin McLaughlin, Mikayla Mount
- Developers: Mikayla Mount, Caitlin McLaughlin, Atishay Jain, Hiral Makwana
- UX Designers: Hiral Makwana, Mikayla Mount
- Architect: Atishay Jain
- DevOps Lead: Mikayla Mount
- Test Lead: Caitlin McLaughlin, Atishay Jain
Team Communications Plan
1. Frequency of Meetings:
- Weekly Status Meetings: Every Friday
- Working Team Meetings: Twice a week, Sundays and Fridays.
2. Meeting Format:
- Weekly Status Meetings: These meetings will be conducted via video conferencing using Zoom. Each team member will provide updates on their progress, discuss any challenges or roadblocks, and outline their tasks for the upcoming week.
- Working Team Meetings: These meetings will also be held via Zoom for brainstorming, pair-programming, debugging, and internal reviews of each other's work.
3. Agenda and Structure:
- Weekly Status Meetings:
-- Review progress since the last meeting.
-- Discuss any blockers or challenges.
-- Plan tasks and goals for the upcoming week. - Working Team Meetings:
-- Discuss specific tasks and assignments.
-- Collaborate on problem-solving and debugging.
-- Review progress on ongoing projects.
-- Provide feedback and support to team members.
4. Communication Tools:
- WhatsApp: Used for day-to-day communication, quick questions, and sharing relevant resources.
- Outlook: For official announcements, scheduling meetings, and sharing important documents.
- Google Drive: For collaborative document editing and sharing project-related files and resources.
- Zoom: For video conferencing during meetings and screen sharing for collaborative work sessions.
5. Meeting Attendance and Participation:
- All team members are expected to attend and actively participate in both weekly status meetings and working team meetings.
- If a team member cannot attend a meeting due to unavoidable circumstances, they are responsible for catching up on the discussion and tasks assigned during that meeting.
6. Flexibility and Adaptability:
- The team will remain flexible with meeting times and formats to accommodate different schedules and preferences.
- Regular check-ins and updates will ensure that everyone stays informed and on track with project goals and deadlines.
Timeline and Milestones
Weeks 1-2: Planning and Research
- Define the target audience and user personas.
- Research common plant care needs and problems.
- Identify key features and prioritize them based on user requirements and feasibility.
Weeks 3-4: Backend Infrastructure Setup and User Interface Design
- Set up server and database architecture.
- Design data schema for storing plant information, user profiles, and environmental data.
- Design wireframes and user flow diagrams for the web app.
- Finalize the visual design and user experience (UI/UX) of the web app.
Weeks 5-7: Core Features Development
- Implement user authentication and account creation.
- Develop functionality for users to add and manage plants.
- Integrate API for fetching weather data based on user's location.
- Implement push notifications for watering reminders and weather alerts.
Weeks 8-9: Testing and Refinement
- Conduct internal testing of the web app for bugs and usability issues.
- Iterate based on feedback from internal testing.
- Fix any identified bugs and optimize app performance.
Week 10: Beta Testing and User Feedback
- Release a beta version to a select group of users for feedback.
- Gather user feedback through surveys and user interviews.
- Iterate on the web app based on user feedback and bug reports.
Week 11: Final Testing, Optimization, and Launch
- Conduct thorough testing of all features and functionalities.
- Optimize web app performance and fix any remaining bugs.
Risks
- Technical challenges: There can be a time when there is a technical issue that we come across during the developing phase, such as integration of some APIs or we might encounter some issue during the testing phase that we are unable to fix.
- Data Security and Privacy Concerns: There can be issues regarding data security and privacy such as Storing sensitive information about plants and user locations may raise concerns.
- Cross Platform Compatibility: Ensuring compatibility across various devices and operating systems may pose challenges, impacting the user experience on different platforms.
- User Adoption: There is a risk that users may not adopt the LeafLog application as expected, either due to a lack of interest in plant care or dissatisfaction with the app's features.
Assumptions
- User Interest and Demand: For LeafLog to succeed, there must be a strong desire and necessity among users for a plant care tracking app. The team believes users will regularly use and engage with the application.
- User Input Precision: To ensure the application generates pertinent care recommendations, the system relies on users offering precise and consistent details about their plants, encompassing species, pot size, and location.
- Market Share and Adoption: The project assumes that there is a favorable market for plant care applications, and LeafLog anticipates gaining a significant share of this market. The assumption is that users will readily adopt the LeafLog application as their preferred tool for plant care tracking, contributing to the app's success and widespread use within the target audience.