No description
				
			
		| Areas/Identity/Pages | ||
| Controllers | ||
| Data | ||
| Migrations | ||
| Models | ||
| Properties | ||
| Views | ||
| wwwroot | ||
| .gitignore | ||
| appsettings.json | ||
| Dockerfile | ||
| Program.cs | ||
| README.md | ||
| TODO.md | ||
| turf_tasker.csproj | ||
| turf_tasker.sln | ||
Turf Tasker
A simple but powerful ASP.NET Core MVC application designed to track lawn care activities. This project serves as a hands-on learning exercise to explore and master the fundamentals of the ASP.NET Core MVC framework, from data modeling with Entity Framework Core to building dynamic, data-driven views.
Key Features
- Log lawn care events (Mowing, Watering, Fertilizing, etc.).
- Track mowing patterns to ensure a healthy lawn and prevent ruts.
- Dashboard homepage showing the last time key activities were performed and what the next mowing pattern should be.
- A dedicated section for general lawn care tips.
- A filterable and sortable log of all past activities.
- Clean, responsive UI using Bootstrap.
Tech Stack
- Backend: C#, ASP.NET Core 8 MVC
- Database: Entity Framework Core 8 with SQLite
- Frontend: HTML, CSS, Bootstrap 5, JavaScript (with jQuery)
- Development Environment: JetBrains Rider on Fedora Linux
- Version Control: Git with GitLab
- Containerization: Docker
How to Run
You can run this application either directly using the .NET SDK or via Docker.
Option 1: Run Natively (using .NET SDK)
- Clone the repository:
git clone https://gitlab.com/blakeridgway/turf-tasker.git
- Navigate to the project directory:
 (If yourcd turf-taskerturf_tasker.csprojis directly in the clonedturf_taskerfolder, you might skip thiscd.)
- Ensure .NET 8 SDK is installed:
 (Should show 8.x.x)dotnet --version
- Restore dependencies:
dotnet restore
- Create/Update the database:
 This will create thedotnet ef database updateturf_tasker.dbSQLite file and seed initial data.
- Run the application:
dotnet run
- Access in browser: Your application will typically run on https://localhost:5062or a similar port, which will be displayed in the terminal output.
Option 2: Run with Docker
- Ensure Docker is installed and running on your system.
- Clone the repository (if you haven't already):
git clone https://gitlab.com/blakeridgway/turf-tasker.git
- Navigate to the project directory:
cd turf_tasker
- Build the Docker image:
 This command builds the image and tags it asdocker build -t turf-tasker-app .turf-tasker-app.
- Run the Docker container:
docker run -e "ASPNETCORE_URLS=http://+:80" -p 8080:80 turf-tasker-app- -e "ASPNETCORE_URLS=http://+:80"explicitly configures the app to listen on HTTP port 80 inside the container.
- -p 8080:80maps port 8080 on your host machine to port 80 inside the container.
 
- Access in browser:
http://localhost:8080
