Disclaimer: This document is out of date. Noticably this website has since moved away from GitHub, and it's infrastructure has entirely changed. This is also not a project I intend to have much colloboration on. It is visible only for educational purposes.
Overview
This document will contain general setup notes for the project.
Prerequisite
To understand this document, you should have some software development experience. Particularly using GitHub and Visual Studio.
To create updates to the website, you should understand HTML/CSS and C#.
Further, you should understand the related product and client needs. So it is recommended to play "IMMORTAL: Gates of Pyre".
Installation
Download and install Visual Studio preview.
Note: Visual Studio Preview currently doesn't work on Mac for this project. Use a PC or Rider.
https://visualstudio.microsoft.com/vs/preview/
When installing, ensure you have selected "Workloads | ASP.NET and web development" and "Individual components | ** .NET WebAssembly build tools**".
Download Project
Get this project from GitHub.
git clone https://github.com/JonathanMcCaffrey/IGP-Fan-Reference.git
Project Tree
C:.
├───.github
│ └───workflows # Workflows to deploy website
├───Components # Components used be website
├───Contexts
├───IGP
│ ├───Pages # Website pages
│ └───wwwroot
│ ├───css
│ ├───generated # Files generated by IGP_Convert. Do not edit
│ ├───image
│ └───javascript
├───IGP_Convert # Converts SQL into JSON for Blazor Wasm
├───Model # Data models
└───Services # Web services
Running
- Open
IGP/IGP.sln. - Click the green RUN button in Visual Studio.
- A local copy of the IGP Website should have launched on your machine.
Publishing
Code committed to the main branch will automatically be deployed to production.
Code committed to the develop branch will automatically be deployed
to development.
This is handled via the files in .github/workflow. Look into
these GitHub Actions Documents if curious about how this CI system works.
Troubleshooting
Nothing that some good internet searches cannot resolve. But you can also contact the project maintainer on Discord.