Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Bulk downloader of ODIS timetables, Android 11+


The actual solution structure, revealing unidirectional F# project dependencies (as GitHub distorts the reality by displaying only an alphabetical order), is shown in the chart below:

EmbeddedTP/
├── EmbeddedTP.fsproj
├── EmbeddedTP.fs
└── KODISJson/
    ├── kodisMHDTotal.json
    └── kodisMHDTotal2_0.json
OdisTimetableDownloaderMAUI (Solution)
├── OdisTimetableDownloaderMAUI.fsproj
├── Educational code.txt
├── AssemblyInfo/
│   └── AssemblyInfo.fs
├── NativeCode/
│   └── NativeCode.fs
├── Types/
│   ├── TDD.fs
│   ├── ErrorTypes.fs
│   ├── Types.fs
│   └── IsomorphismAndCardinality.fs
├── Settings/
│   ├── Messages.fs
│   ├── SettingsGeneral.fs
│   ├── SettingsDPO.fs
│   ├── SettingsKODIS.fs
│   └── SettingsMDPO.fs
├── ApplicativeFunctors/
│   └── Applicatives.fs
├── CEBuilders/
│   └── CEBuilders.fs
├── OptionResultExtensions/
│   ├── ResultExtensions.fs
│   └── OptionExtensions.fs
├── Helpers/
│   ├── IO_Monad_Experiments/
│   │   └── IO_Monad.fs
│   ├── Helpers.fs
│   ├── Serialization.fs
│   └── Parsers.fs
├── ProgressTrackers/
│   └── ProgressTrackers.fs
├── DotNetInteroperabilityCode/
│   └── DotNetInteroperabilityCode.fs
├── JavaInteroperabilityCode/
│   ├── RealInternetChecker.fs
│   └── SSL_TLS_handling.fs
├── Libraries/
│   ├── CopyOrMoveDir.fs
│   └── ListParallel.fs
├── Monads/
│   ├── FreeMonads/
│   │   ├── CmdLineWorkflows.fs
│   │   └── FreeMonad.fs
│   └── StateMonads/
│       └── StateMonad.fs
├── Connectivity/
│   └── Connectivity.fs
├── Secrets/
│   ├── ApiKeys.fs
│   └── Secrets.json
├── Logging/
│   ├── DataModelling/
│   │   ├── DataModels.fs
│   │   ├── DataTransferModels.fs
│   │   └── TransformationLayers.fs
│   ├── LogEntries.fs
│   └── Logging.fs
├── ExceptionHandling/
│   └── ExceptionHandlers.fs
├── BusinessLogic/
│   ├── AndroidSpecificCodeBL/
│   │   ├── DataModelling/
│   │   │   ├── DataModels.fs
│   │   │   ├── DataTransferModels.fs
│   │   │   └── TransformationLayers.fs
│   │   ├── AndroidClientActivation.fs
│   │   └── AndroidMediaStore.fs
│   ├── DataManipulation/
│   │   ├── DataModelling/
│   │   │   └── DataModels.fs
│   │   ├── DataModellingApi/
│   │   │   ├── DataModels.fs
│   │   │   ├── DataTransferModels.fs
│   │   │   └── TransformationLayers.fs
│   │   ├── PureFunctions/
│   │   │   └── ParseRecordData.fs
│   │   └── ImpureFunctions/
│   │       ├── JsonDataParser.fs
│   │       ├── TimetableLinksParser.fs
│   │       ├── RestApiLinks.fs
│   │       └── ConcurrencyGuard.fs
│   ├── IO_Operations/
│   │   ├── PureHelpers/
│   │   │   └── CreatePathsAndNames.fs
│   │   └── ImpureFunctions/
│   │       ├── DataModelling/
│   │       │   ├── DataModels.fs
│   │       │   ├── DataTransferModels.fs
│   │       │   └── TransformationLayers.fs
│   │       └── IO_Operations.fs
│   └── MainBusinessLogic_R/
│       ├── KodisJsonTP/
│       │   ├── KODIS_BL_Record_R_Json.fs
│       │   └── KODIS_BL_Record_R.fs
│       ├── KodisCanopy/
│       │   ├── KODIS_BL_Record4_R_Json.fs
│       │   └── KODIS_BL_Record4_R.fs
│       ├── Dpo/
│       │   └── DPO_BL_R.fs
│       ├── Mdpo/
│       │   ├── MDPO_BL_R_Json.fs
│       │   └── MDPO_BL_R.fs
│       └── TP_Canopy_Difference_R.fs
├── ApplicationDesign_R/
│   ├── DPO_R.fs
│   ├── MDPO_R.fs
│   ├── KodisCanopy/
│   │   └── KODIS_Record4_R.fs
│   └── KodisJsonTP/
│       └── KODIS_Record_R.fs
├── XElmish/
│   ├── Infrastructure/
│   │   ├── AndroidSpecificCode/
│   │   │   ├── AndroidSpecificCode.fs
│   │   │   ├── AndroidStorageBridge.fs
│   │   │   └── AndroidSAF.fs
│   │   ├── FileManagerLauncher.fs
│   │   ├── ComparisonResultFileLauncher.fs
│   │   ├── HardRestart.fs
│   │   ├── Counters.fs
│   │   └── ActorModels.fs
│   ├── ViewHelpers/
│   │   ├── ScreenHelpers.fs
│   │   └── ProgressWidgets.fs
│   ├── Engines/
│   │   ├── Upload.fs
│   │   ├── KodisTP.fs
│   │   ├── KodisCanopy.fs
│   │   ├── Dpo.fs
│   │   └── Mdpo.fs
│   └── App_New_UX.fs
├── Platforms/
│   ├── Android/
│   │   ├── Resources/
│   │   │   ├── Fonts/
│   │   │   ├── Images/
│   │   │   ├── AppIcon/
│   │   │   │   ├── appicon.svg
│   │   │   │   └── appiconfg.svg
│   │   │   ├── Splash/
│   │   │   │   └── splash.svg
│   │   │   ├── Raw/
│   │   │   ├── drawable/
│   │   │   │   └── ic_download.xml
│   │   │   ├── xml/
│   │   │   │   ├── file_paths.xml
│   │   │   │   └── network_security_config.xml
│   │   │   └── values/
│   │   │       └── colors.xml
│   │   ├── Assets/
│   │   ├── AndroidManifest.xml
│   │   ├── MainApplication.fs
│   │   └── MainActivity.fs
│   └── Windows/
│       ├── app.manifest
│       ├── App.fs
│       └── Main.fs
├── Resources/
│   ├── Fonts/
│   ├── Images/
│   ├── AppIcon/
│   │   ├── appicon.svg
│   │   └── appiconfg.svg
│   ├── Splash/
│   │   └── splash.svg
│   └── Raw/
├── MauiProgram.fs
└── Secrets/
    └── Secrets.json

About

The actual solution structure of a mobile phone app, revealing unidirectional F# project dependencies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors