Mobile application for managing repair orders, inventory control, repair tracking, and customer notifications in mobile device repair shops.
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.
- Create and manage repair orders.
- Automatic folio generation.
- Device status tracking.
- Customer and device information management.
- Repair history and detailed reports.
- Spare parts registration.
- Stock control.
- Category-based organization.
- Real-time inventory updates.
- Create repair orders.
- Deliver repaired devices.
- Manage inventory.
- Update repair status.
- Register used parts.
- Add technical notes.
- Access inventory information.
- Automatic email notifications.
- Repair status updates.
- Repair completion notifications.
- Folio validation.
- Digital signature capture.
- Delivery date registration.
The project follows a Backend-as-a-Service (BaaS) architecture.
- React Native
- Expo
- TypeScript
- Gluestack UI
- Tailwind CSS (NativeWind)
- Firebase Authentication
- Cloud Firestore
- Brevo API (Email Notifications)
| 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 |
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
FixTrack uses Cloud Firestore as its primary database.
users
├── userId
├── name
├── email
├── role
├── createdAt
└── isActive
repairs
├── repairId
├── customerName
├── customerEmail
├── customerPhone
├── deviceModel
├── issueDescription
├── status
├── assignedTo
├── estimatedCost
├── finalCost
├── folio
├── createdAt
├── updatedAt
└── deliveryDate
inventory
├── inventoryId
├── name
├── sku
├── state
├── unitCost
└── createdAt
categories
repairNotes
repairPieces
Before running the project, ensure the following tools are installed:
- Node.js 18+
- npm or yarn
- Expo CLI
- Expo Go
- Firebase account
- Brevo account
git clone https://github.com/your-username/fixtrack.git
cd fixtracknpm installCreate 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"
};Add your API key in the email service configuration:
const BREVO_API_KEY = "YOUR_API_KEY";npm startScan the generated QR code using Expo Go.
- A technician updates the repair status.
- The repair record is updated in Firestore.
- The email service is triggered.
- Brevo sends an automatic notification email to the customer.
- The customer receives the updated repair status.


