Skip to content
View arnaudelub's full-sized avatar
🏠
Working from home
🏠
Working from home
Block or Report

Block or report arnaudelub

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
arnaudelub/README.md

Hello World 👋!

Uncle bob said "Clean code reads like well-written prose", so why not reading my README.md like you read clean code

library arnaudelub;

export 'welcome/my_name_is_arnaud_delubac';
export 'fully_remote_worker/as_freelance/at_idelub';
export 'cross_plaform_developer/flutter';
export 'experienced_in_ecommerce';
export 'my_editor/vim_4_ever/nvim';
export 'my_os/linux_4_ever/manjaro';
part 'my_career.dart';
const oneYearExperience = '1 year of experience';
const twinapp = 'Twinapp';
const findo = 'Findo';
const elPuntAvui = 'El Punt Avui';
const reliqium = 'Reliqium';
const k8s = 'Kubernetes';
const docker = 'docker';
const azureCloud = 'Azure Cloud';
const typescript = 'typescript';

abstract class MyExperienceAsAFlutterDeveloper {
    bool wasAFlutterDeveloperAtInteractiuImpactedMyCareer();
    @deprecated
    void isAFlutterDeveloperFreelancerAtIDelub();
    @deprecated
    Future<void> willBeCTOAndCoFounderAtFindo();
    void isAJuniorArchitectAtNexplore();
}

/*
 * Quick Note, this class is a lazy singleton, but to avoid any missunderstanding,
 * i am neither lazy nor single!
**/
@LazySingleton(as: MyExperienceAsAFlutterDeveloper)
class MyExperienceAsAFlutterDeveloperImplementation implements MyExperienceAsAFlutterDeveloper {
    final MyCareerRepository _myCareerRepository;
    const MyExperienceAsAFlutterDeveloperImplementation(this._myCareerRepository);
    
    @override
    bool wasAFlutterDeveloperAtInteractiuImpactedMyCareer() {
        _myCareerRepository.addProjectDone(twinapp);
        final bool myFirstAttemptWithFlutterSucceeded = _myCareerRepository.isPublishedAndWorking(twinapp);
        final didILovedIt = true;
        _myCareerRepository.addExperience(oneYearExperience);
        return myFirstAttemptWithFlutterSucceed && didILovedIt;
    }
    
    @override
    void isAFlutterDeveloperFreelancerAtIDelub(){
        _myCareerRepository.addProjectDone(elPuntAvui);
        final today = DateTime.now();
        final startDateAsFreelance = DateTime(2020, 04, 01);
        final int numberOfYears = today.difference(startDateAsFreelance).inYears;
        final year = "year${numberOfYears > 1 ? 's' : ''}";
        _myCareerRepository.addExperience("$numberOfYears $year of experience");
    }
    
    @override
    Future<bool> willBeCTOAndCoFounderAtFindo() async {
        _myCareerRepository.addProjectDone(findo);
        final myLastProjectSucceeded = await _myCareerRepository.isPublishedAndWorking(hero);
        _myCareerRepository.canLevelUp(myLastProjectSucceeded);
        return myLastProjectSucceeded;
    }
    
    @override
    void isAJuniorArchitectAtNexplore() {
        _myCareerRepository.addNewTechStack(k8s)..addNewTechstack(docker)
            ..addNewTechStack(azureCloud)..addNewTechStack(typescript)
        final startDateAsFullStack = DateTime(2021, 03, 01);
        final startDateAsJrArchitect = DateTime(2022, 09, 01);
        final int numberOfYears = today.difference(startDateAsJrArchitect).inYears;
        final year = "year${numberOfYears > 1 ? 's' : ''}";
        _myCareerRepository.addExperience("1 year as fullstack (TS, Flutter, React)")
            ..addExperience("$numberOfYears $year of experience as Jr Architect");
    }
}

extension MyFlutterAppsAndPackages on Flutter {
    List<String> get developedApp => [
        Reliqium,
        Twinapp,
        ElPuntAvui
        Findo,
        Ecohint];
    List<String> get developedPackages => [flutter_fullpdfview, csv_picker_button, flutter_firebase_aut_facade];
}

extension MyLearningPath on AzureCloud {
    List<String> get earnedCertificates => [];
    List<String> get certsPass => [
        AZ-900-Azure-Fundamental,
        AZ-204-Azure-developer,
        AZ-104-Azure-administrator-associate,
        AZ-400-Azure-devops-engineer
    ];
}

My pubspec.yaml:

dependencies:
    - Typescript: 2+
    - Flutter: 4+
    - Python: 6+
    - Angular: 3+
    - Java: 1+
    - Kubernetes: 1+
    - Docker: 1+
    - Azure Cloud: 1+
Links

My articles

Dart isolate and Flutter Compute
Give your main thread som breath!
Flutter and NFC
Control you NFC chip with flutter
Flutter and Firebase Login
All you need to know about Firebase authentication with Flutter (Spanish only)
debounceTime from RxDart and Bloc
Use Rxdart's debounceTime with Bloc (En, Fr, Es)
Flutter, Bloc and Firestore stream
Controle Firestore's stream with Bloc

My open source projects

Flutterence Open source Project, so it can evolve thanks to the community and for the community!
Anyone who want to contribute is welcome to contact me
csv_picker_button Pub Version Load and read you CSV!
Parse your CSV data from a simple button
firebase auth facade Pub Version Login with Firebase!
All the power from firebase authentication in a simple plugin!

Pinned Loading

  1. flutterence flutterence Public

    Open source app by the flutter community for the flutter community

    Dart 2

  2. flutter_fullpdfview flutter_fullpdfview Public

    Flutter package available on pub.dev

    Dart 16 19

  3. flutter_packages flutter_packages Public

    HTML 2

  4. isolate_demo isolate_demo Public

    App demo to demonstrate flutter's compute()

    CMake 3