66 lines
		
	
	
		
			No EOL
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			No EOL
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # MowLog Project TODO List
 | |
| 
 | |
| This file tracks the development progress, completed features, and future ideas for the MowLog application.
 | |
| 
 | |
| ## ✅ Completed Features
 | |
| 
 | |
| -   [x] **Initial Project Setup (ASP.NET Core MVC)**
 | |
|     -   [x] Created project using the MVC template.
 | |
|     -   [x] Configured for development on Fedora Linux with JetBrains Rider.
 | |
| 
 | |
| -   [x] **Data Modeling & Database**
 | |
|     -   [x] Created `LawnCareEvent` model with `MowingPattern` and `EventType` enums.
 | |
|     -   [x] Set up Entity Framework Core.
 | |
|     -   [x] Configured the project to use a SQLite database.
 | |
|     -   [x] Created and applied initial database migration.
 | |
| 
 | |
| -   [x] **Core CRUD Functionality**
 | |
|     -   [x] Scaffolded the `LawnCareEventsController` with all views (Create, Read, Update, Delete).
 | |
|     -   [x] Ensured all CRUD views (`Index`, `Create`, `Edit`, `Delete`, `Details`) are present and working.
 | |
| 
 | |
| -   [x] **Tier 1 Enhancements (UX/UI)**
 | |
|     -   [ ] Added JavaScript to conditionally show/hide the "Mowing Pattern" field.
 | |
|     -   [x] Set the "Create" form's date field to default to the current day.
 | |
|     -   [x] Customized the site's CSS to create a green, themed navigation bar.
 | |
| 
 | |
| -   [x] **Tier 2 Features (Dashboard & Logging)**
 | |
|     -   [x] Created a `DashboardViewModel`.
 | |
|     -   [x] Implemented a dynamic dashboard on the homepage showing last activity dates and the next mowing pattern.
 | |
|     -   [x] Added sorting and filtering capabilities to the main "Mow Log" index page.
 | |
| 
 | |
| -   [x] **Project Management & Documentation**
 | |
|     -   [x] Initialized a Git repository.
 | |
|     -   [x] Created a GitLab repository and pushed the project.
 | |
|     -   [x] Wrote a comprehensive `README.md` file.
 | |
|     -   [x] Added a `.gitignore` file tailored for .NET projects.
 | |
|     -   [x] Included an MIT `LICENSE` file.
 | |
| 
 | |
| ## 🎯 Next Up
 | |
| 
 | |
| -   [ ] **Feature: Lawn Care Tips Section**
 | |
|     -   [ ] Create `LawnCareTip` model (`Id`, `Title`, `Category`, `Content`).
 | |
|     -   [ ] Add `DbSet<LawnCareTip>` to `ApplicationDbContext`.
 | |
|     -   [ ] Create and apply a new database migration.
 | |
|     -   [ ] Scaffold the `LawnCareTipsController` with views.
 | |
|     -   [ ] Add a "Tips" link to the main navigation bar.
 | |
| 
 | |
| ## 🚀 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 `LawnCareEvent` model (e.g., `WaterAmountInches`, `FertilizerType`, `MowerHeightInches`).
 | |
|     -   Update forms to include these new fields, using conditional logic where appropriate.
 | |
| 
 | |
| -   [ ] **Architecture: Refactor to a Service Layer**
 | |
|     -   Create an `ILawnCareService` interface and `LawnCareService` class.
 | |
|     -   Move all database query logic from controllers into the service layer to improve separation of concerns.
 | |
| 
 | |
| -   [ ] **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 `Dockerfile` to the project to create a portable container image of the application. | 
