Skip to content

qmmughal/car-maintenance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Car Maintenance Tracker (.NET MAUI)


Cross-platform mobile app for car maintenance tracking
C# Updated on May 16, 2026

A cross-platform mobile app built with .NET MAUI for iPhone and Android to efficiently manage car maintenance activities, track oil changes, and monitor service schedules.

License .NET Platform

✨ Features

  • Track Oil Changes: Log oil change activities with date, mileage, and notes
  • Smart Reminders: Get suggested maintenance intervals based on completed oil change history
  • Activity Management: Mark activities as completed or pending with status toggling
  • Quick Delete: Swipe to delete entries that are no longer needed
  • Persistent Storage: All entries are saved locally on your device
  • Clean UI: Modern, intuitive interface optimized for mobile devices
  • Cross-Platform: Works seamlessly on both iOS and Android

🎯 Key Capabilities

Oil Change Tracking

  • Add oil change entries with specific date and mileage
  • Store detailed notes about the service (e.g., oil type, filter replacement)
  • Default interval calculation: 5,000 miles between oil changes
  • View next recommended oil change mileage at a glance

Activity Management

  • Status Tracking: Toggle between "Pending" and "Completed" status
  • Entry Deletion: Swipe left on any entry to remove it
  • Chronological View: Latest entries appear first
  • Detailed Information: Full view of all service records

πŸ“‹ Project Structure

CarMaintenanceApp/
β”œβ”€β”€ Models/
β”‚   └── OilChangeEntry.cs          # Data model for oil change entries
β”œβ”€β”€ ViewModels/
β”‚   └── OilChangeViewModel.cs       # Business logic and state management
β”œβ”€β”€ Views/
β”‚   β”œβ”€β”€ MainPage.xaml               # Main user interface
β”‚   └── MainPage.xaml.cs            # Code-behind
β”œβ”€β”€ Services/
β”‚   └── MaintenanceStorageService.cs  # Local data persistence
β”œβ”€β”€ App.xaml                        # Application-wide resources
β”œβ”€β”€ App.xaml.cs                     # Application startup logic
β”œβ”€β”€ AppShell.xaml                   # Shell navigation structure
β”œβ”€β”€ MauiProgram.cs                  # MAUI configuration and setup
└── CarMaintenanceApp.csproj        # Project configuration

πŸ› οΈ Build Prerequisites

Requirements

  • .NET SDK 8.0+ - Download from dotnet.microsoft.com
  • MAUI Workload - Required for cross-platform development
  • Xcode 14.3+ (for iOS development)
  • Android SDK 24+ (for Android development)

Installation

  1. Install MAUI Workload:
dotnet workload install maui
  1. Verify Installation:
dotnet workload list

πŸš€ Getting Started

Clone and Build

# Clone the repository
git clone https://github.com/qmmughal/car-maintenance.git
cd car-maintenance

# Restore dependencies
cd CarMaintenanceApp
dotnet restore

Run on Android

# Build and run on connected Android device
dotnet build -f net8.0-android -c Release

# Or use the shorthand with -t Run
dotnet build -t Run -f net8.0-android

Run on iOS

# Build and run on iOS simulator or connected device
dotnet build -f net8.0-ios -c Release

# Or use the shorthand with -t Run
dotnet build -t Run -f net8.0-ios

Debug Locally

# Using Visual Studio 2022
# - Open CarMaintenanceApp.csproj
# - Select Android (or iOS) from the debug target dropdown
# - Press F5 to start debugging

# Using VS Code
# - Install C# Dev Kit extension
# - Press F5 to launch the debugger
# - Choose your target platform

🎨 UI/UX Design

The app follows modern mobile design principles:

  • Responsive Layout: Adapts to different screen sizes
  • Accessible Colors: High contrast for readability
  • Gesture Support: Swipe-to-delete for intuitive interaction
  • Touch-Friendly: Buttons and input fields optimized for touch
  • Data Visualization: Clear display of maintenance schedules

Color Scheme

  • Primary: #2563EB (Blue) - Main action buttons
  • Success: #0F766E (Teal) - Suggested mileage highlight
  • Danger: #DC2626 (Red) - Delete action
  • Neutral: #334155 (Slate) - Secondary buttons

πŸ“± Technical Details

Architecture

  • MVVM Pattern: Clean separation between UI and business logic
  • Binding Context: Automatic UI updates via data binding
  • ObservableCollection: Real-time UI synchronization

Data Model

public class OilChangeEntry
{
    public Guid Id { get; set; }
    public DateTime Date { get; set; }
    public int OdometerMiles { get; set; }
    public string Notes { get; set; }
    public bool IsCompleted { get; set; }
    public string Status { get; } // "Completed" or "Pending"
}

State Management

  • BindableObject: Implements INotifyPropertyChanged for reactive updates
  • Commands: User interactions trigger business logic through ICommand implementations
  • Local Storage: Data persisted using device-specific storage

πŸ” Data Privacy

  • All data is stored locally on your device
  • No cloud synchronization or external servers
  • No personal information is transmitted
  • Full user control over data

πŸ› Troubleshooting

Common Issues

MAUI Workload Not Found

# Update .NET SDK
dotnet sdk check

# Reinstall MAUI workload
dotnet workload restore

Build Fails on Android

  • Ensure Android SDK is installed (API 24+)
  • Check ANDROID_SDK_ROOT environment variable

iOS Build Issues

  • Update Xcode to latest version
  • Run xcrun xcode-select --reset to reset Xcode path
  • Ensure iOS deployment target matches project settings (14.2+)

πŸ“ˆ Future Enhancements

  • Multiple maintenance types (tire rotation, filter changes, etc.)
  • Maintenance reminders and notifications
  • Data export to CSV/PDF
  • Cloud sync across devices
  • Expense tracking and reports
  • Fuel economy monitoring
  • Service history analytics
  • Dark mode support

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request with improvements.

Development Guidelines

  • Follow C# naming conventions (PascalCase for public members)
  • Write clean, readable code with meaningful comments
  • Test changes on both iOS and Android platforms
  • Update documentation for new features

πŸ“„ License

This project is open-source and available under the MIT License.

πŸ’‘ Tips & Best Practices

Tracking Oil Changes

  1. Always record the actual odometer reading at service
  2. Keep notes about the oil type and brand used
  3. Mark activities as completed after service confirmation
  4. Review the suggested mileage regularly for upcoming maintenance

Maintenance Intervals

  • Standard intervals: 3,000-5,000 miles (conventional oil)
  • Synthetic oil: 5,000-7,500 miles
  • Full synthetic: 7,500-10,000 miles
  • Consult your vehicle manual for specific recommendations

πŸ“ž Support & Contact

For issues, feature requests, or questions:


Happy Maintenance Tracking! πŸš—

About

A cross-platform mobile app built with .NET MAUI for iPhone and Android to efficiently manage car maintenance activities, track oil changes, and monitor service schedules.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages