* Replace the WCF webserver with an ASP.NET Core webserver (VocaluxeWeb) - New project VocaluxeWeb: ASP.NET Core 2.3 (Kestrel) on .NET Framework 4.8.1, HTTP or HTTPS with a self-signed certificate, REST API (/api/v1) with Swagger, live events (Server-Sent Events) - Access to the game only through IVocaluxeRemote; requests run on the main thread once per frame - Sessions with roles (guest, player, admin) and configurable permissions, PINs hashed with PBKDF2 - Queue as a playlist with requesters and singers, fair order (one song per person and round) - Admin: settings, server status, logged-in devices, activate/deactivate and delete profiles - Profile pictures: own photo or one of the Vocaluxe avatars - Game: WebApp queue screen (song options, playlist group) to start the next song with the chosen singers, return to it after singing, warning when the webserver is off, remote keyboard - Old WCF server, WebserverInitalConfig and URL reservations removed; libraries moved to libs/managed - Unit tests for PIN hashing, settings and permissions, queue order and device names - AppVeyor: Visual Studio 2022 image and Node.js 24 (the build compiles the WebApp) - Documentation in VocaluxeWeb/README.md * New WebApp (Vue 3, TypeScript, Vite) replacing the old jQuery Mobile website - Login with profile and PIN, create profiles - Songs with search, filters, sorting and 30 second previews - Queue: add songs with game mode, audio and singers, edit, reorder, start in the game - Playlists: create, edit, add to the queue - Now playing with live updates, remote control and keyboard - Players: own profile with picture (photo or Vocaluxe avatar), roles for admins - Admin settings: permissions, server status, devices, profiles - Help page, responsive layout for phones, tablets and desktops, light and dark mode - Texts in WebApp/src/locales/en.json, translated with Transifex - Old website and PhoneGap config removed --------- Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
132 lines
5.8 KiB
XML
132 lines
5.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
|
<PropertyGroup>
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
|
<ProjectGuid>{8EDF4429-251A-416D-BB68-93F227191BCF}</ProjectGuid>
|
|
<OutputType>Library</OutputType>
|
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
<RootNamespace>Tests</RootNamespace>
|
|
<AssemblyName>Tests</AssemblyName>
|
|
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
|
|
<FileAlignment>512</FileAlignment>
|
|
<NuGetPackageImportStamp>
|
|
</NuGetPackageImportStamp>
|
|
<TargetFrameworkProfile />
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<DebugType>full</DebugType>
|
|
<Optimize>false</Optimize>
|
|
<OutputPath>bin\Debug\</OutputPath>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<WarningLevel>4</WarningLevel>
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<LangVersion>9.0</LangVersion>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
|
<DebugType>pdbonly</DebugType>
|
|
<Optimize>true</Optimize>
|
|
<OutputPath>bin\Release\</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<WarningLevel>4</WarningLevel>
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<LangVersion>9.0</LangVersion>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<DebugType>full</DebugType>
|
|
<Optimize>false</Optimize>
|
|
<OutputPath>bin\Debug\</OutputPath>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<WarningLevel>4</WarningLevel>
|
|
<PlatformTarget>x64</PlatformTarget>
|
|
<LangVersion>9.0</LangVersion>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
|
<DebugType>pdbonly</DebugType>
|
|
<Optimize>true</Optimize>
|
|
<OutputPath>bin\Release\</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<WarningLevel>4</WarningLevel>
|
|
<PlatformTarget>x64</PlatformTarget>
|
|
<LangVersion>9.0</LangVersion>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Include="System" />
|
|
<Reference Include="System.Xml" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="NUnit" Version="4.6.1" />
|
|
<PackageReference Include="NUnit3TestAdapter" Version="6.2.0" PrivateAssets="all" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Compile Include="PartyModeChallenge\CPartyModeChallangeTest.cs" />
|
|
<Content Include="VocaluxeLib\Log\CLogTest.tt">
|
|
<Generator>TextTemplatingFileGenerator</Generator>
|
|
<LastGenOutput>CLogTest.cs</LastGenOutput>
|
|
</Content>
|
|
<Compile Include="VocaluxeLib\Log\CBenchmarkTest.cs" />
|
|
<Compile Include="VocaluxeLib\Log\CLogTest.cs">
|
|
<AutoGen>True</AutoGen>
|
|
<DesignTime>True</DesignTime>
|
|
<DependentUpon>CLogTest.tt</DependentUpon>
|
|
</Compile>
|
|
<Compile Include="VocaluxeLib\Log\Rolling\CLogFileRollerTest.cs" />
|
|
<Compile Include="VocaluxeLib\Utils\Combinatorics\CCombinationsTest.cs" />
|
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
<Compile Include="VocaluxeLib\XML\CXmlSerializerTest.cs" />
|
|
<Compile Include="VocaluxeWeb\CPinHasherTest.cs" />
|
|
<Compile Include="VocaluxeWeb\CQueueServiceTest.cs" />
|
|
<Compile Include="VocaluxeWeb\CUserAgentTest.cs" />
|
|
<Compile Include="VocaluxeWeb\CWebSettingsTest.cs" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
|
|
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\PartyModes\PartyModeChallenge\PartyModeChallenge.csproj">
|
|
<Project>{5a4053f1-5ad5-441f-b254-d97a088127b6}</Project>
|
|
<Name>PartyModeChallenge</Name>
|
|
</ProjectReference>
|
|
<ProjectReference Include="..\VocaluxeLib\VocaluxeLib.csproj">
|
|
<Project>{D2B6DDEF-E0E1-4DDF-A73A-E6ACEF5C95EC}</Project>
|
|
<Name>VocaluxeLib</Name>
|
|
</ProjectReference>
|
|
<ProjectReference Include="..\Vocaluxe\Vocaluxe.csproj">
|
|
<Project>{2a1e0f2d-5392-4bb7-b0a1-a9dfa13e79ff}</Project>
|
|
<Name>Vocaluxe</Name>
|
|
</ProjectReference>
|
|
<ProjectReference Include="..\VocaluxeWeb\VocaluxeWeb.csproj">
|
|
<Project>{4E2C9A71-6B3D-4F85-9C1E-8A7D5B2F3C60}</Project>
|
|
<Name>VocaluxeWeb</Name>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Content Include="VocaluxeLib\XML\TestFiles\Dictionary`2.xml" />
|
|
<Content Include="VocaluxeLib\XML\TestFiles\SConfig.xml" />
|
|
<Content Include="VocaluxeLib\XML\TestFiles\SDefaultFonts.xml" />
|
|
<Content Include="VocaluxeLib\XML\TestFiles\SSkin.xml" />
|
|
<Content Include="VocaluxeLib\XML\TestFiles\STheme.xml" />
|
|
<Content Include="VocaluxeLib\XML\TestFiles\SThemeCover.xml" />
|
|
<Content Include="VocaluxeLib\XML\TestFiles\SThemeScreen.xml" />
|
|
</ItemGroup>
|
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
Other similar extension points exist, see Microsoft.Common.targets.
|
|
<Target Name="BeforeBuild">
|
|
</Target>
|
|
<Target Name="AfterBuild">
|
|
</Target>
|
|
-->
|
|
</Project> |