Home

Awesome

<p><img src="images/horizontal.png" alt="Camelotia" height="50px"></p>

Build Pull Requests Issues License Size codecov

Camelotia is a sample cross-platform application built with reactive extensions, ReactiveUI, and modern .NET UI frameworks. Camelotia is a file manager for cloud storages, it currently supports Yandex Disk, Google Drive, VK Documents, GitHub, FTP, SFTP, and local file systems. The app runs on Windows, Linux, MacOS, XBox, Surface Hub and HoloLens.

Compiling Avalonia app

<img src="images/UiAvalonia.png" width="550">

In order to compile .NET Standard libraries, run tests and run the <a href="https://github.com/avaloniaui">Avalonia</a> application on Windows, Linux or MacOS operating system make sure to have latest .NET Core SDK installed. Launch the Camelotia.Avalonia.sln file to browse or to edit source files. Camelotia uses Nuke Build to build and test the solution. Execute the following commands to run the build scripts on Linux or MacOS:

# Linux or MacOS shell. Launches the Avalonia app after build.
git clone https://github.com/worldbeater/Camelotia
cd ./Camelotia && bash ./build.sh --interactive

On Windows, execute the following command line:

# Windows command line. Launches the Avalonia app after build.
# Use the '--full' option to compile Android, UWP and WPF apps as well.
# Use the '--configuration Release' option to generate app packages.
git clone https://github.com/worldbeater/Camelotia
cd ./Camelotia && powershell -ExecutionPolicy Unrestricted ./build.ps1 --interactive

Compiling Universal Windows Platform app

<img src="images/UiWindows.png" width="550">

<a href="https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide">Universal Windows Platform</a> Camelotia app is compatible with Windows 10-based devices, such as PCs, Xbox One and HoloLens. The app can be compiled only on latest Windows 10. Make sure to have latest Microsoft Visual Studio installed. Make sure the "Universal Application Development" section is checked in Visual Studio Installer. Launch the Camelotia.Uwp.sln solution file.

Compiling Windows Presentation Foundation app

<img src="images/UiPresentation.png" width="550">

The app was ported to WPF to make the cloud file manager controls reusable across most popular .NET implementations, so one could easily embed parts of Camelotia into their own applications by simply copying and pasting the source files. The app is also compatible with Windows versions lower than 10, such as Windows 7 or 8. To compile the WPF app, ensure the "Desktop Development" section is checked in Visual Studio Installer. Then, open the Camelotia.Wpf.sln file in Visual Studio 2019.

Compiling Xamarin Forms app

<img src="images/UiAndroid.png" width="550">

To compile the <a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/">Xamarin.Forms</a> Android application, install the appropriate Android SDK v8.1. This can be achieved by using Visual Studio Installer and selecting "Mobile Development" section there. Launch the Camelotia.Xamarin.sln solution file.

Technologies and Tools Used