Skip to content

Réalisé avec FLUTTER (Dart) - Application mobile sur la recherche d'emploi en France

Notifications You must be signed in to change notification settings

DataSab/timeless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

231 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.jsonandroid/app/
    • GoogleService-Info.plistios/Runner/
    • firebase_options.dartlib/

🧪 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


About

Réalisé avec FLUTTER (Dart) - Application mobile sur la recherche d'emploi en France

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages