3 KiB
3 KiB
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