Skip to content

250421/Norwood-P1-Frontend

Repository files navigation

Forest Garden Inventory Management System – Presentation

1. Introduction

Hello, my name is Jarrell Norwood, and I am a Full Stack Java/React Software Engineer trained through Revature.

🔧 Tech Stack

  • Backend: Java Spring Boot (Session-based Authentication), PostgreSQL
  • Frontend: React with TypeScript, TanStack Router, TanStack Query
  • UI & Styling: TailwindCSS, ShadCN UI components
  • Utilities: Axios, Zod, Vite
  • Testing: Mockito (in progress due to Maven configuration)

📋 Project Overview

This application provides a nature-themed inventory system for forest gardening. It allows users to search and filter plants based on ecological traits—like sunlight, hardiness zone, and soil type—to help design productive, layered gardens.


2. Technical Details

🗂️ Entity Relationships

  • The application includes Product and User entities.
  • Products are categorized using enums (e.g., sunlight, growth rate, soil type).
  • Soft delete and role-based access are implemented.
  • Product data includes image URLs, companion product support, and classification by forest garden layer.

✅ Unit Testing

  • Unit tests were planned using Mockito.
  • While test setup encountered Maven configuration issues, service-layer testing will be prioritized in future iterations.

3. Demo: User Scenarios

👤 As a User

  • I can sign up and log in securely using session-based authentication
  • I can search for products by name or description
  • I can filter products by category, zone, sunlight, soil, and more

🛠️ As an Admin / Inventory Manager

  • I can create new products using a validated ShadCN form with image URL support
  • I can edit product details inline with prefilled forms
  • I can soft delete products, making them invisible to end users
  • I have access to role-based actions like edit/delete based on user role

4. Conclusion

🎓 Key Learnings

  • Learned to build session-based auth and implement route protection with TanStack Router
  • Gained proficiency in using Zod with React Hook Form for full form validation
  • Strengthened ability to manage enums and shared types between frontend and backend

🔄 What I Would Do Differently

  • Add more advanced filtering and sorting
  • Configure BDD testing early and run tests consistently

🚀 Future Stretch Goals

  • Integrate image hosting via S3 or blob storage
  • Add calendar-based planting recommendations
  • Build a companion planting matrix UI

🙏 Thank You

Thank you for your time and attention.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages