Welcome to the dotnet club project. 点此查看中文说明。
This project is source code for a discussion website, it demonstrates how ASP.NET Core can be used to make a user generated web application. The online instance of this project is hosted at dotnetclub.net which is exactly a real community for discussing .NET Core technical topics.
This project is a web application based on the .NET Core 2.1 open source and cross platform framework. This project will run on .net core runtime, but the devlopment tasks still rely on full CLR frameworks(.NET Frmework on Windows and Mono on other systems).
Branch | Platform | Build server | Status |
---|---|---|---|
dev | Linux | Travis | |
dev | Windows | AppVeyor | |
master | Linux | Travis | |
master | Windows | AppVeyor |
This project has following development dependencies:
- .NET Core SDK version 2.1.504
- Node.js version 8.x or above
- Yarn installed
First, clone this repository and compile it to get everything ready:
git clone https://github.com/jijiechen/dotnetclub.git
cd dotnetclub
You can work on the source with any text editor or IDE. This project uses the cakebuild as a build tool. Please change the ./build
in sample commands on this page to corresponding cakebuild entrypoint file:
- Windows:
build.ps1
- Linux:
build-linux.sh
- macOS:
build.sh
To restore packages and compile:
./build --target=build # you may need to change the entrypoint file name
To execute tests:
./build --target=test # you may need to change the entrypoint file name
It's recommended to run this application using Docker. You can run the application using this command after docker is installed:
docker run -d --name club -p 5000:5000 jijiechen/dotnetclub:201902240624
You can also compile and run it locally, in that case you'll need .NET Core SDK and node.js tools, and also Mono if you are not working on a Windows PC. After you get a good environment, it's pretty simple to run locally when following these steps:
git clone https://github.com/jijiechen/dotnetclub.git
cd dotnetclub
./build --target=ci # you may need to change the entrypoint file name
cd src/Discussion.Web/publish
dotnet ./Discussion.Web.dll
By default, the application will generate a temporary Sqlite database, which will be deleted on process exiting. If you want to persiste your data, please configure your connection string in configuration files (appsettings.json
, or appsettings.<env>.js
)
For more information, please refer to the wiki documentation which currently only available in Chinese.
Since this project is still under development, so It will be great to have your contribution. If you are planning to push back some code, please use the GitHub Flow, when you are going to fix an issue or submit a feature, please create a branch for your work and then file a pull request from that branch.
This project is open source under the MIT license.