Skip to content

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

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Car Maintenance Tracker (.NET MAUI)

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.

πŸ“„ License

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

πŸ“ž 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

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages