Skip to content

Repository files navigation

FixTrack

Mobile application for managing repair orders, inventory control, repair tracking, and customer notifications in mobile device repair shops.


Overview

FixTrack is a cross-platform mobile application developed to digitize and optimize the workflow of mobile device repair shops. The system centralizes repair records, inventory management, technician activities, and customer communication in a single platform.

The application manages the complete lifecycle of a repair order, from device reception and diagnosis to delivery and customer confirmation.


Features

Repair Management

  • Create and manage repair orders.
  • Automatic folio generation.
  • Device status tracking.
  • Customer and device information management.
  • Repair history and detailed reports.

Inventory Management

  • Spare parts registration.
  • Stock control.
  • Category-based organization.
  • Real-time inventory updates.

Role-Based Access Control

Administrator

  • Create repair orders.
  • Deliver repaired devices.
  • Manage inventory.

Technician

  • Update repair status.
  • Register used parts.
  • Add technical notes.
  • Access inventory information.

Customer Notifications

  • Automatic email notifications.
  • Repair status updates.
  • Repair completion notifications.

Device Delivery

  • Folio validation.
  • Digital signature capture.
  • Delivery date registration.

System Architecture

The project follows a Backend-as-a-Service (BaaS) architecture.

Frontend

  • React Native
  • Expo
  • TypeScript
  • Gluestack UI
  • Tailwind CSS (NativeWind)

Backend

  • Firebase Authentication
  • Cloud Firestore

External Services

  • Brevo API (Email Notifications)

Technologies

Technology Purpose
React Native Cross-platform mobile development
Expo Development and deployment
TypeScript Static typing
Firebase Authentication and cloud services
Cloud Firestore NoSQL database
Brevo API Email automation
Gluestack UI UI components
Tailwind CSS / NativeWind Styling
Expo Router Navigation
Expo Vector Icons Icons
GitHub Version control

Project Structure

FixTrack
│
├── app/
│   ├── auth/
│   └── private/
│       ├── inventory/
│       ├── repairs/
│       └── tabs/
│
├── assets/
│   ├── icons/
│   └── images/
│
├── shared/
│   ├── components/
│   ├── repositories/
│   ├── services/
│   ├── stores/
│   ├── styles/
│   ├── types/
│   └── schemas/
│
├── firebase.json
├── firestore.rules
├── firestore.indexes.json
└── package.json

Database

FixTrack uses Cloud Firestore as its primary database.

Collections

Users

users
├── userId
├── name
├── email
├── role
├── createdAt
└── isActive

Repairs

repairs
├── repairId
├── customerName
├── customerEmail
├── customerPhone
├── deviceModel
├── issueDescription
├── status
├── assignedTo
├── estimatedCost
├── finalCost
├── folio
├── createdAt
├── updatedAt
└── deliveryDate

Inventory

inventory
├── inventoryId
├── name
├── sku
├── state
├── unitCost
└── createdAt

Categories

categories

Repair Notes

repairNotes

Repair Pieces

repairPieces

Prerequisites

Before running the project, ensure the following tools are installed:

  • Node.js 18+
  • npm or yarn
  • Expo CLI
  • Expo Go
  • Firebase account
  • Brevo account

Installation

Clone the repository

git clone https://github.com/your-username/fixtrack.git
cd fixtrack

Install dependencies

npm install

Configure Firebase

Create or update the Firebase configuration file:

shared/services/firebase.ts

Example configuration:

const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
  appId: "YOUR_APP_ID"
};

Configure Brevo

Add your API key in the email service configuration:

const BREVO_API_KEY = "YOUR_API_KEY";

Start the application

npm start

Scan the generated QR code using Expo Go.


Notification Workflow

  1. A technician updates the repair status.
  2. The repair record is updated in Firestore.
  3. The email service is triggered.
  4. Brevo sends an automatic notification email to the customer.
  5. The customer receives the updated repair status.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages