- Issues: https://github.com/x-fri/stoream/issues
- Contribution: https://github.com/x-fri/stoream/pulls
Module | Status |
---|---|
WebUI | |
Engine |
This project is mainly constructed using the following technologies:
-
Rescript: Fast, Simple, Fully Typed JavaScript from the Future
-
Typescript: JavaScript with syntax for types.
-
React: The library for web and native user interfaces
-
Mantine: A fully featured React components library
-
F#: An open-source language that makes it easy to write succinct, robust, and performant code.
-
Suave: A simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition.
- Fork this repo, then clone your forked repo
- Develop on the dev branch:
git checkout -b dev
- Create new upstream remote:
git remote add upstream https://github.com/X-FRI
- Synchronize the dev branch of upstream:
git pull upstream dev
- Do your development
- Push to your own repo:
git push origin dev
- Submit your PR to the dev branch
For NodeJS, we recommend using NVM to manage versions (If you already have a NodeJS environment, you can skip this step):
nvm install 20
This project is built using pnpm, so:
npm install -g pnpm
Now you can run stoream:
pnpm dev
For .NET Core 8.0, you can use the script:
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version latest
or download it from the official website.
Important
This project uses radical .NET Native AOT parameters and must use .NET Core 8 or above.
Now you can develop in stoream-engine directory:
- Build:
dotnet build
- Run:
dotnet run
- Dev:
dotnet watch
- Publish:
dotnet publish
Note
OPTIONAL: In addition, we also use UPX to > optimize the size of the executable file. Most Linux distributions can > be installed through the package manager, such as on openSUSE:
zypper in upx
then
upx --best --lzma ./bin/Release/net8.0/{your runtime}/publish/stoream-engine(.exe)
Copyright (c) 2024 The X-Files Research Institute
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* 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.
* Neither the name of Stoream nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
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 OWNER 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.