4 Development Setup
Jonathan McCaffrey edited this page 12 months ago

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.