Skip to content

Latest commit

 

History

History
316 lines (217 loc) · 8.91 KB

File metadata and controls

316 lines (217 loc) · 8.91 KB

Timeless

(Job search mobile app)

Because opportunities don't wait...

Flutter Firebase Platform License

A Flutter job-search app powered by Firebase
Fast, accessible, and intuitive job applications anytime, anywhere

🎬 Watch Demo • 🌐 Landing Page • 📱 Screenshots

Timeless logo Timeless logo

   

📖 Table of Contents

About

Timeless is a Flutter-based mobile application designed to simplify the job search and application process. Built with Firebase, it offers a seamless experience for both job seekers and employers.

✨ Highlights

  • 🚀 Fast & Responsive - Optimized performance with GetX state management
  • 🔒 Secure Authentication - Firebase Auth with email and Google Sign-In
  • 📱 Cross-Platform - Works on Android and iOS
  • 💼 Dual User Roles - Separate experiences for candidates and employers

This is a school portfolio project using fictitious data for demonstration purposes.

🎬 Demo

📹 Watch the Application in Action

Demo Video

Experience the complete user journey for both candidates and employers

📸 Screenshots

🧭 Onboarding & Authentication


Splash Screen

Login

👤 Candidate Experience


Candidate Login

Job Feed

🏢 Employer Experience


Employer Login

Employer Dashboard

🎯 Key Features

For Job Seekers 👤

  • ✅ Smart Job Search - Filter by location, category, and type
  • ✅ Quick Apply - Submit applications with CV in seconds
  • ✅ Save Favorites - Bookmark jobs for later review
  • ✅ Track Applications - Monitor application status in real-time
  • ✅ Profile Management - Build and update your professional profile
  • ✅ Multi-language - Switch between EN, FR

For Employers 🏢

  • ✅ Post Jobs - Create and manage job offers easily
  • ✅ Review Applications - View CVs and candidate profiles
  • ✅ Manage Candidates - Track and update application statuses
  • ✅ Dashboard Analytics - Monitor job posting performance
  • ✅ Company Profile - Showcase your organization
  • ✅ Real-time Updates - Get notified of new applications

🛠 Tech Stack

Mobile Application

Flutter Dart Firebase GetX

Category Technology
Framework Flutter (Dart)
State Management GetX
Authentication Firebase Auth + Google Sign-In
Database Cloud Firestore
Storage Firebase Storage
Notifications Firebase Cloud Messaging (FCM)
Localization Easy Localization (EN, FR)
Local Storage SharedPreferences
File Handling File Picker

📁 Project Structure

Click to expand project structure
timeless/
├── android/              # Android configuration
├── ios/                  # iOS configuration
├── macos/                # macOS configuration
├── web/                  # Web platform support
│
├── assets/               # Application assets
│   ├── cv/               # Demo CV files
│   ├── icons/            # App icons
│   ├── images/           # Images and logos
│   ├── screenshots/      # App screenshots
│   ├── translations/     # i18n files (en, fr, es)
│   └── jobs.json         # Demo job data
│
└── lib/                  # Main Flutter source code
    ├── api/              # API clients and services
    ├── common/           # Reusable widgets
    ├── config/           # App configuration
    ├── controllers/      # GetX controllers
    ├── models/           # Data models
    │   ├── job_offer_model.dart
    │   ├── user_model_unified.dart
    │   └── application_model.dart
    ├── screen/           # UI screens
    │   ├── auth/         # Authentication
    │   ├── candidate/    # Candidate screens
    │   ├── employer/     # Employer screens
    │   ├── dashboard/    # Dashboards
    │   └── profile/      # Profile management
    ├── services/         # Core services
    │   ├── auth_service.dart
    │   ├── job_service.dart
    │   └── notification_service.dart
    ├── utils/            # Utilities and helpers
    ├── widgets/          # Shared widgets
    └── main.dart         # App entry point

🚀 Quick Start

Prerequisites

  • Flutter SDK 3.x or higher
  • Dart 3.0 or higher
  • Android Studio
  • Firebase project (for authentication and database)

Installation

git clone https://github.com/Holbiwan/timeless.git
cd timeless
flutter pub get
flutter run

⚙️ Firebase Setup

⚠️ Important: Firebase configuration files are not included for security reasons.

You need to:

  1. Create a Firebase project at console.firebase.google.com
  2. Add your Android/iOS apps to the Firebase project
  3. Download and add configuration files:
    • google-services.json → android/app/
    • GoogleService-Info.plist → ios/Runner/
    • firebase_options.dart → lib/

🧪 Testing

The project includes 7 unit tests covering core data models.

Run all tests
flutter test

Run tests with coverage
flutter test --coverage

Test Coverage

Model Tests Coverage
JobOfferModel 4 Creation, display formatting, salary, copyWith
UserModel 3 Creation, display name, saved jobs

📄 License

This project is licensed under the MIT License.

🌟 Made with Flutter and Firebase

Built as a school portfolio project

Landing Page