diff --git a/.gitignore b/.gitignore index 8a30d25..ba4b992 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,9 @@ ## ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore +# webexpress package +pkg + # User-specific files *.rsuser *.suo diff --git a/README.md b/README.md index 8e5193e..a5143d3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress.Doc/main/assets/banner.png) +![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress/main/assets/banner.png) # WebExpress WebExpress is a lightweight web server optimized for use in low-performance environments (e.g. Rasperry PI). By providing @@ -12,20 +12,36 @@ language (e.g. C#). Some advantages of WebExpress are: The WebExpress family includes the following projects: -- [WebExpress (core)](https://github.com/ReneSchwarzer/WebExpress#readme) - The core for WebExpress applications. +- [WebExpress](https://github.com/ReneSchwarzer/WebExpress#readme) - The web server for WebExpress applications and the documentation. +- [WebExpress.WebCore](https://github.com/ReneSchwarzer/WebExpress.WebCore#readme) - The core for WebExpress applications. - [WebExpress.WebUI](https://github.com/ReneSchwarzer/WebExpress.WebUI#readme) - Common templates and controls for WebExpress applications. - [WebExpress.WebIndex](https://github.com/ReneSchwarzer/WebExpress.WebIndex#readme) - Reverse index for WebExpress applications. - [WebExpress.WebApp](https://github.com/ReneSchwarzer/WebExpress.WebApp#readme) - Business application template for WebExpress applications. -- [WebExpress.Server](https://github.com/ReneSchwarzer/WebExpress.Server#readme) - The web server for WebExpress applications. + +WebExpress is part of the WebExpress family. The project provides a web server for WebExpress applications. + +# Libraries used +- https://github.com/dotnet/core (MIT) +- https://getbootstrap.com/ (MIT) +- https://www.chartjs.org (MIT) +- https://jquery.com/ (MIT) +- https://summernote.org/ (MIT) +- https://popper.js.org/ (MIT) +- https://github.com/kurtobando/simple-tags (MIT) +- https://github.com/uxsolutions/bootstrap-datepicker (Apache 2.0) +- https://github.com/xoofx/markdig (BSD-2-Clause license) + +# Download +The current binaries are available for download [here](https://github.com/ReneSchwarzer/WebExpress/releases). # Start To get started with WebExpress, use the following links and tutorials. -- [installation guide](https://github.com/ReneSchwarzer/WebExpress.Doc/blob/main/doc/installation_guide.md) -- [development guide](https://github.com/ReneSchwarzer/WebExpress.Doc/blob/main/doc/development_guide.md) +- [installation guide](https://github.com/ReneSchwarzer/WebExpress/blob/main/doc/installation_guide.md) +- [development guide](https://github.com/ReneSchwarzer/WebExpress/blob/main/doc/development_guide.md) ## Tutorials - [HelloWorld](https://github.com/ReneSchwarzer/WebExpress.Tutorial.HelloWorld#readme) # Tags -#NETCore #WebExpress \ No newline at end of file +#WebExpress #WebServer \ No newline at end of file diff --git a/WebExpress.spec b/WebExpress.spec new file mode 100644 index 0000000..5053ce7 --- /dev/null +++ b/WebExpress.spec @@ -0,0 +1,21 @@ + + + WebExpress + 0.0.4-alpha + WebExpress + rene_schwarzer@hotmail.de + MIT + icon.png + README.md + WebExpress is a lightweight web server optimized for use in low-performance environments (e.g. Rasperry PI). + webexpress + WebExpress.Core.dll + WebExpress.WebUI.dll + WebExpress.WebIndex.dll + WebExpress.WebApp.dll + WebExpress.dll + WebExpress.exe + WebExpress.runtimeconfig.json + config/webexpress.config.xml + Markdig.dll + \ No newline at end of file diff --git a/doc/development_guide.md b/doc/development_guide.md index 173cf29..53f118a 100644 --- a/doc/development_guide.md +++ b/doc/development_guide.md @@ -1,4 +1,4 @@ -![WebExpress logo](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress.Doc/main/icon.png) +![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress.Doc/main/assets/banner.png) # WebExpress WebExpress is a lightweight web server that has been optimized for use in low-performance diff --git a/doc/installation_guide.md b/doc/installation_guide.md index 8ee1e6a..19501e7 100644 --- a/doc/installation_guide.md +++ b/doc/installation_guide.md @@ -1,4 +1,4 @@ -![WebExpress logo](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress.Doc/main/icon.png) +![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress.Doc/main/assets/banner.png) # General WebExpress is a lightweight web server that has been optimized for use in low-performance environments. Even on diff --git a/licenses/Bootstrap.lic b/licenses/Bootstrap.lic new file mode 100644 index 0000000..27a8c01 --- /dev/null +++ b/licenses/Bootstrap.lic @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2011-2023 The Bootstrap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/licenses/Markdig.lic b/licenses/Markdig.lic new file mode 100644 index 0000000..0b2323f --- /dev/null +++ b/licenses/Markdig.lic @@ -0,0 +1,23 @@ +Copyright (c) 2018-2019, Alexandre Mutel +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification +, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/licenses/Net.lic b/licenses/Net.lic new file mode 100644 index 0000000..8169891 --- /dev/null +++ b/licenses/Net.lic @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright(c).NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/licenses/Popper.lic b/licenses/Popper.lic new file mode 100644 index 0000000..199860f --- /dev/null +++ b/licenses/Popper.lic @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Floating UI contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/licenses/WebExpress.lic b/licenses/WebExpress.lic new file mode 100644 index 0000000..39c453e --- /dev/null +++ b/licenses/WebExpress.lic @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 René Schwarzer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/jQuery.lic b/licenses/jQuery.lic new file mode 100644 index 0000000..3b19d38 --- /dev/null +++ b/licenses/jQuery.lic @@ -0,0 +1,14 @@ +The MIT License (MIT) + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/src/WebExpress.Test/GlobalUsings.cs b/src/WebExpress.Test/GlobalUsings.cs new file mode 100644 index 0000000..8c927eb --- /dev/null +++ b/src/WebExpress.Test/GlobalUsings.cs @@ -0,0 +1 @@ +global using Xunit; \ No newline at end of file diff --git a/src/WebExpress.Test/WebExpress.Test.csproj b/src/WebExpress.Test/WebExpress.Test.csproj new file mode 100644 index 0000000..3628d37 --- /dev/null +++ b/src/WebExpress.Test/WebExpress.Test.csproj @@ -0,0 +1,33 @@ + + + + net7.0 + enable + enable + + false + true + + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/src/WebExpress.sln b/src/WebExpress.sln new file mode 100644 index 0000000..628c292 --- /dev/null +++ b/src/WebExpress.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34221.43 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebExpress", "WebExpress\WebExpress.csproj", "{81C574D8-3689-4DF1-9E1D-7B7786B282B3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebExpress.Test", "WebExpress.Test\WebExpress.Test.csproj", "{183EEA9C-E88E-46CC-9473-6B7E49084BE0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {81C574D8-3689-4DF1-9E1D-7B7786B282B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {81C574D8-3689-4DF1-9E1D-7B7786B282B3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {81C574D8-3689-4DF1-9E1D-7B7786B282B3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {81C574D8-3689-4DF1-9E1D-7B7786B282B3}.Release|Any CPU.Build.0 = Release|Any CPU + {183EEA9C-E88E-46CC-9473-6B7E49084BE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {183EEA9C-E88E-46CC-9473-6B7E49084BE0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {183EEA9C-E88E-46CC-9473-6B7E49084BE0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {183EEA9C-E88E-46CC-9473-6B7E49084BE0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D6771134-B061-4752-BBD7-8C70DB5F3686} + EndGlobalSection +EndGlobal diff --git a/src/WebExpress/Config/webexpress.config.xml b/src/WebExpress/Config/webexpress.config.xml new file mode 100644 index 0000000..d345069 --- /dev/null +++ b/src/WebExpress/Config/webexpress.config.xml @@ -0,0 +1,21 @@ + + + + + + + + + + 300 + 3000000000 + + + de-DE + + ./packages + ./assets + ./data + + + \ No newline at end of file diff --git a/src/WebExpress/Program.cs b/src/WebExpress/Program.cs new file mode 100644 index 0000000..d9f82e0 --- /dev/null +++ b/src/WebExpress/Program.cs @@ -0,0 +1,22 @@ +using System.Reflection; +using WebExpress.Core; + +namespace WebExpress.App +{ + internal class Program + { + /// + /// The entry point of the WebExpress. + /// + /// Command-line arguments passed to the application. + private static void Main(string[] args) + { + var app = new WebEx() + { + Name = Assembly.GetExecutingAssembly().GetName().Name + }; + + app.Execution(args); + } + } +} diff --git a/src/WebExpress/Rocket.ico b/src/WebExpress/Rocket.ico new file mode 100644 index 0000000..c0909c9 Binary files /dev/null and b/src/WebExpress/Rocket.ico differ diff --git a/src/WebExpress/WebExpress.csproj b/src/WebExpress/WebExpress.csproj new file mode 100644 index 0000000..f5cfaf4 --- /dev/null +++ b/src/WebExpress/WebExpress.csproj @@ -0,0 +1,34 @@ + + + + 0.0.4.0 + 0.0.4.0 + Exe + net7.0 + Rocket.ico + Rene_Schwarzer@hotmail.de + WebExpress.App.Program + win10-x64;win-arm;linux-arm;ubuntu.14.04-arm;ubuntu.16.04-arm + https://github.com/ReneSchwarzer/WebExpress.Server + MIT + False + + + + + + + + + + + + PreserveNewest + + + + + + + +