2019-08-02 01:12:20 +03:00
< p > < img src = "images/horizontal.png" alt = "Camelotia" height = "50px" > < / p >
2019-05-18 23:20:18 +03:00
2019-05-17 00:24:33 +03:00
[![Build Status ](https://worldbeater.visualstudio.com/Camelotia/_apis/build/status/Camelotia-CI )](https://worldbeater.visualstudio.com/Camelotia/_build/latest?definitionId=1) [![Pull Requests ](https://img.shields.io/github/issues-pr/worldbeater/camelotia.svg )](https://github.com/worldbeater/Camelotia/pulls) [![Issues ](https://img.shields.io/github/issues/worldbeater/camelotia.svg )](https://github.com/worldbeater/Camelotia/issues) ![License ](https://img.shields.io/github/license/worldbeater/camelotia.svg ) ![Size ](https://img.shields.io/github/repo-size/worldbeater/camelotia.svg ) [![Code Coverage ](https://img.shields.io/azure-devops/coverage/worldbeater/Camelotia/1.svg )](https://worldbeater.visualstudio.com/Camelotia/_build/latest?definitionId=1)
2018-11-25 00:17:41 +03:00
2019-03-17 21:23:02 +03:00
File manager for cloud storages. Supports Yandex Disk, Google Drive, VK Documents, GitHub, FTP, SFTP. The app runs on Windows, Linux, MacOS, XBox, Surface Hub and HoloLens. Built with [ReactiveUI ](https://github.com/reactiveui/ReactiveUI ).
2018-12-22 18:50:59 +03:00
2019-08-02 01:12:20 +03:00
### Compiling Avalonia app
2018-12-22 18:50:59 +03:00
2019-08-02 01:12:20 +03:00
< img src = "images/UiAvalonia.png" width = "450" >
2018-11-22 22:22:00 +03:00
2019-08-02 01:12:20 +03:00
In order to compile .NET Standard libraries, run tests and run an Avalonia application on Windows, Linux and macOS operating systems make sure to have latest [.NET Core SDK ](https://dot.net/ ) installed. Launch the `Camelotia.Avalonia.sln` file to browse or to edit source files. Camelotia uses [Nuke Build ](https://github.com/nuke-build/nuke ) to build and test the solution. Execute the following commands to run the build scripts on Linux or MacOS:
2018-11-22 22:34:45 +03:00
2018-11-25 00:17:41 +03:00
```sh
2019-08-02 01:12:20 +03:00
# Linux or MacOS shell. Launches Avalonia GUI after build.
2018-11-22 22:22:00 +03:00
git clone https://github.com/worldbeater/Camelotia
2019-08-02 01:12:20 +03:00
cd ./Camelotia & & bash ./build.sh --interactive
2018-11-22 22:22:00 +03:00
```
2019-08-02 01:12:20 +03:00
On Windows, execute the following command line:
2018-12-22 18:50:59 +03:00
2019-08-02 01:12:20 +03:00
```sh
# Windows command line. Launches Avalonia GUI after build.
# Use --full option to compile Android and UWP apps as well.
git clone https://github.com/worldbeater/Camelotia
cd ./Camelotia & & powershell -ExecutionPolicy Unrestricted ./build.ps1 --interactive
```
2019-03-08 19:03:27 +03:00
2019-08-02 01:12:20 +03:00
### Compiling Universal Windows Platform app
2019-03-08 19:03:27 +03:00
2019-08-02 01:12:20 +03:00
< img src = "images/UiWindows.png" width = "450" >
2018-12-31 19:10:45 +03:00
2019-08-02 01:12:20 +03:00
Universal Windows Platform Camelotia app can be compiled only on latest Windows 10. Make sure to have latest [Microsoft Visual Studio ](https://visualstudio.microsoft.com/ ) installed. Make sure the "Universal Application Development" section is checked in [Visual Studio Installer ](https://visualstudio.microsoft.com/ru/vs/ ). Launch the `Camelotia.Uwp.sln` solution file.
2018-12-31 19:10:45 +03:00
2019-08-02 01:12:20 +03:00
### Compiling Xamarin Forms app
2018-11-22 22:34:45 +03:00
2019-08-02 01:12:20 +03:00
To compile the Xamarin Forms Android application, install the appropriate Android SDK v8.1. This can be achieved by using [Visual Studio Installer ](https://visualstudio.microsoft.com/ru/vs/ ) and selecting "Mobile Development" section there. Launch the `Camelotia.Xamarin.sln` solution file.
2018-11-22 23:05:58 +03:00
2019-08-02 01:12:20 +03:00
< img src = "images/UiAndroid.png" width = "450" >
2018-11-25 01:05:01 +03:00
### Technologies and Tools Used
2018-12-31 19:10:45 +03:00
- < a href = "https://reactiveui.net/" > ReactiveUI</ a > modern MVVM framework
2019-01-09 02:06:55 +03:00
- < a href = "https://github.com/reactiveui/Akavache" > Akavache</ a > persistent key-value store
- < a href = "http://github.com/avaloniaui" > AvaloniaUI</ a > cross-platform XAML-based GUI framework
2019-08-02 01:12:20 +03:00
- < a href = "https://github.com/nuke-build/nuke" > Nuke</ a > build automation system for C#/.NET
2018-12-31 19:10:45 +03:00
- < a href = "https://github.com/nsubstitute/NSubstitute" > NSubstitute</ a > mocking library
- < a href = "https://github.com/fluentassertions/fluentassertions" > FluentAssertions</ a > assertions library
- < a href = "https://docs.microsoft.com/en-us/xamarin/xamarin-forms/" > Xamarin.Forms</ a > mobile GUI framework
2019-08-02 01:12:20 +03:00
- < a href = "https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide" > Universal Windows Platform</ a > SDKs
2019-01-09 02:06:55 +03:00
- < a href = "https://github.com/dotnet/reactive" > Reactive Extensions</ a > for .NET
- < a href = "https://github.com/octokit/octokit.net" > Octokit</ a > GitHub client library
- < a href = "https://github.com/robinrodricks/FluentFTP" > FluentFTP</ a > FTP implementation
- < a href = "https://github.com/sshnet/SSH.NET/" > SSH.NET</ a > SFTP implementation
- < a href = "https://github.com/vknet/vk" > VkNet</ a > Vkontakte SDK for .NET
2019-03-17 21:23:02 +03:00
- < a href = "https://github.com/googleapis/google-api-dotnet-client" > Google Drive</ a > SDK for .NET
2019-01-09 02:06:55 +03:00
- < a href = "https://www.jetbrains.com/rider/" > JetBrains Rider</ a > and < a href = "https://visualstudio.microsoft.com/" > Microsoft Visual Studio</ a > IDEs