update to turftracking

This commit is contained in:
Jake Kasper
2025-09-05 15:05:32 -04:00
parent a3112efee0
commit 8416a9daf7
7 changed files with 25 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
# TurfTracker - Professional Lawn Care Management
# TurfTracking - Professional Lawn Care Management
TurfTracker is a comprehensive web application designed for homeowners to track and manage their lawn care activities including fertilizer applications, weed control, mowing schedules, and equipment management.
TurfTracking is a comprehensive web application designed for homeowners to track and manage their lawn care activities including fertilizer applications, weed control, mowing schedules, and equipment management.
## Features
@@ -76,7 +76,7 @@ TurfTracker is a comprehensive web application designed for homeowners to track
- Docker and Docker Compose
- Traefik reverse proxy running with `proxy` network
- DNS pointing `turftracker.kaspers.us` to your server
- DNS pointing `turftracker.kaspers.us` to your server (or your chosen domain)
- Git
### Traefik Configuration Notes
@@ -92,7 +92,7 @@ This application is pre-configured for deployment behind Traefik with:
1. **Clone the repository**
```bash
git clone <repository-url>
cd turftracker
cd turftracking
```
2. **Environment Configuration**
@@ -235,8 +235,8 @@ If you have an Authentik instance for SSO:
3. **In Authentik Applications:**
- Create new Application
- Set Name: `TurfTracker`
- Set Slug: `turftracker`
- Set Name: `TurfTracking`
- Set Slug: `turftracking`
- Set Provider: (select the provider created above)
**Scopes Required:** `openid profile email`
@@ -244,7 +244,7 @@ If you have an Authentik instance for SSO:
## Application Structure
```
turftracker/
turftracking/
├── backend/ # Node.js API server
│ ├── src/
│ │ ├── routes/ # API endpoints

View File

@@ -1,7 +1,7 @@
{
"name": "turftracker-backend",
"name": "turftracking-backend",
"version": "1.0.0",
"description": "Backend API for TurfTracker lawn care management application",
"description": "Backend API for TurfTracking lawn care management application",
"main": "src/app.js",
"scripts": {
"start": "node src/app.js",
@@ -38,6 +38,6 @@
"fertilizer",
"turf management"
],
"author": "TurfTracker Team",
"author": "TurfTracking Team",
"license": "MIT"
}

View File

@@ -136,7 +136,7 @@ process.on('SIGINT', () => {
});
app.listen(PORT, '0.0.0.0', () => {
console.log(`TurfTracker API server running on port ${PORT}`);
console.log(`TurfTracking API server running on port ${PORT}`);
console.log(`Environment: ${process.env.NODE_ENV || 'development'}`);
});
// Disable etags and set no-store by default to avoid stale cached API responses

View File

@@ -1,7 +1,7 @@
{
"name": "turftracker-frontend",
"name": "turftracking-frontend",
"version": "1.0.0",
"description": "Frontend React application for TurfTracker lawn care management",
"description": "Frontend React application for TurfTracking lawn care management",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",

View File

@@ -5,7 +5,7 @@
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#059669" />
<meta name="description" content="TurfTracker - Professional lawn care management and tracking application" />
<meta name="description" content="TurfTracking - Professional lawn care management and tracking application" />
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
@@ -17,9 +17,9 @@
<!-- Progressive Web App meta tags -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="TurfTracker">
<meta name="apple-mobile-web-app-title" content="TurfTracking">
<title>TurfTracker - Lawn Care Management</title>
<title>TurfTracking - Lawn Care Management</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
@@ -29,7 +29,7 @@
<div id="loading-indicator" class="fixed inset-0 flex items-center justify-center bg-green-50 z-50">
<div class="text-center">
<div class="animate-spin rounded-full h-12 w-12 border-b-2 border-green-600 mx-auto mb-4"></div>
<h2 class="text-xl font-semibold text-green-800">TurfTracker</h2>
<h2 class="text-xl font-semibold text-green-800">TurfTracking</h2>
<p class="text-green-600">Loading your lawn care dashboard...</p>
</div>
</div>

View File

@@ -20,7 +20,7 @@ const AuthLayout = ({ children }) => {
/>
</svg>
</div>
<h1 className="text-3xl font-bold text-gray-900 mb-2">TurfTracker</h1>
<h1 className="text-3xl font-bold text-gray-900 mb-2">TurfTracking</h1>
<p className="text-lg text-gray-600">Professional Lawn Care Management</p>
</div>
</div>

View File

@@ -145,7 +145,7 @@ const Layout = ({ children }) => {
/>
<div className="fixed inset-y-0 left-0 flex w-64 flex-col bg-white shadow-xl">
<div className="flex h-16 items-center justify-between px-6 border-b border-gray-200">
<h1 className="text-xl font-bold text-primary-600">TurfTracker</h1>
<h1 className="text-xl font-bold text-primary-600">TurfTracking</h1>
<button
type="button"
className="text-gray-400 hover:text-gray-600"
@@ -244,7 +244,7 @@ const Layout = ({ children }) => {
<div className="hidden lg:fixed lg:inset-y-0 lg:flex lg:w-64 lg:flex-col">
<div className="flex min-h-0 flex-1 flex-col bg-white border-r border-gray-200">
<div className="flex h-16 items-center px-6 border-b border-gray-200">
<h1 className="text-xl font-bold text-primary-600">TurfTracker</h1>
<h1 className="text-xl font-bold text-primary-600">TurfTracking</h1>
</div>
<nav className="flex-1 space-y-1 px-4 py-6">
@@ -337,7 +337,7 @@ const Layout = ({ children }) => {
<Bars3Icon className="h-6 w-6" />
</button>
<h1 className="text-lg font-semibold text-gray-900">TurfTracker</h1>
<h1 className="text-lg font-semibold text-gray-900">TurfTracking</h1>
<div className="flex items-center space-x-4">
<button className="text-gray-400 hover:text-gray-500">