3.2 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.2 KiB
		
	
	
	
	
	
	
	
MowLog Project TODO List
This file tracks the development progress, completed features, and future ideas for the MowLog application.
✅ Completed Features
- 
Initial Project Setup (ASP.NET Core MVC) - Created project using the MVC template.
- Configured for development on Fedora Linux with JetBrains Rider.
 
- 
Data Modeling & Database - Created LawnCareEventmodel withMowingPatternandEventTypeenums.
- Set up Entity Framework Core.
- Configured the project to use a SQLite database.
- Created and applied initial database migration.
 
- Created 
- 
Core CRUD Functionality - Scaffolded the LawnCareEventsControllerwith all views (Create, Read, Update, Delete).
- Ensured all CRUD views (Index,Create,Edit,Delete,Details) are present and working.
 
- Scaffolded the 
- 
Tier 1 Enhancements (UX/UI) - Added JavaScript to conditionally show/hide the "Mowing Pattern" field.
- Set the "Create" form's date field to default to the current day.
- Customized the site's CSS to create a green, themed navigation bar.
 
- 
Tier 2 Features (Dashboard & Logging) - Created a DashboardViewModel.
- Implemented a dynamic dashboard on the homepage showing last activity dates and the next mowing pattern.
- Added sorting and filtering capabilities to the main "Mow Log" index page.
 
- Created a 
- 
Project Management & Documentation - Initialized a Git repository.
- Created a GitLab repository and pushed the project.
- Wrote a comprehensive README.mdfile.
- Added a .gitignorefile tailored for .NET projects.
- Included an MIT LICENSEfile.
 
🎯 Next Up
- Feature: Lawn Care Tips Section
- Create LawnCareTipmodel (Id,Title,Category,Content).
- Add DbSet<LawnCareTip>toApplicationDbContext.
- Create and apply a new database migration.
- Scaffold the LawnCareTipsControllerwith views.
- Add a "Tips" link to the main navigation bar.
 
- Create 
🚀 Future Ideas & Enhancements
- 
Feature: Calendar View - Integrate a client-side JavaScript library (like FullCalendar) to display events visually.
- Create a JSON endpoint in the controller to serve event data to the calendar.
 
- 
Feature: Enhance Data Model - Add more specific, nullable fields to the LawnCareEventmodel (e.g.,WaterAmountInches,FertilizerType,MowerHeightInches).
- Update forms to include these new fields, using conditional logic where appropriate.
 
- Add more specific, nullable fields to the 
- 
Architecture: Refactor to a Service Layer - Create an ILawnCareServiceinterface andLawnCareServiceclass.
- Move all database query logic from controllers into the service layer to improve separation of concerns.
 
- Create an 
- 
Feature: User Authentication - Integrate ASP.NET Core Identity to allow users to register and log in.
- Associate lawn care events with a specific user ID so each user only sees their own data.
 
- 
Deployment: Containerize with Docker - Add a Dockerfileto the project to create a portable container image of the application.
 
- Add a 
