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