Installation guide on Lubuntu 20.4.1 LTS virtual machine image. 1) Open QTerminal and run the following commands Wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb 2) Now Install the .NET SDK sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-5.0 3) Now Install the ASP.NET Core runtime sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y aspnetcore-runtime-5.0 5) Now you will need to get the source code for the project, either by cloning our Git repos or unzip our submitted file(s). git clone https://github.com/COMP3900-9900-Capstone-Project/capstoneproject-comp3900-w10a-watermelon-ramen.git 6) The last step is to cd into the Server folder of the project and run cd capstoneproject-comp3900-w10a-watermelon-ramen/ cd Server/ dotnet run 7) After running dotnet run the project should be running and there will be some basic information about it in the console. There should be a line saying something like “Now listening on: http://localhost:5000”. Typing this into a browser will allow you to access the app. Note on Databases: Installing this way will use the cloud Azure database we have set up for the project. This means it already has data in it (all the data we created when testing our app) . The instructions to switch to running on a local database are below. 1) Install Sql Server with the following commands. You may need to restart the terminal for your path to update. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)" sudo apt-get update sudo apt-get install -y mssql-server sudo /opt/mssql/bin/mssql-conf setup 2) After you run the setup command you will be prompted to enter an edition type 2 then hit enter. After this you will be prompted to set a password, make sure you remember the password. Once this is done you can verify the server is running with the following command. systemctl status mssql-server --no-pager 3) Install Sql server command line tools. You may need to restart the terminal for your path to update. When installing mssql-tools you will have to type yes to the licence agreement and some other dialogs. sudo apt-get update sudo apt install curl curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc 5) Now you will definitely have to restart the terminal for the path to update. Now run the following command to connect to the database. sqlcmd -S localhost -U SA -P '' 6) Now run the following sql. CREATE DATABASE MyRecipe; GO SELECT SYSTEM_USER; GO 7) The second query will tell you the system users id write this down for later. (It should be something like sa). 8) Now we will install the tools for efcore. cd to the capstoneproject-comp3900-w10a-watermelon-ramen/Server/ folder if you are not already there. Then run the following commands. dotnet add package Microsoft.EntityFrameworkCore.SqlServer dotnet tool install --global dotnet-ef 9) After doing this you will need to reboot the vm. Now you will need to modify the connection string in the project to connect to the db. cd to the capstoneproject-comp3900-w10a-watermelon-ramen/Server/ folder if you are not already there. Then edit the appsettings.json folder. Change the connection string to the following. server=(local);Initial Catalog=MyRecipe;User ID={system users id from earlier};Password={Database Password from earlier}; After doing this the file should look something like this. { "ConnectionStrings": { "DefaultConnection": "server=(local);Initial Catalog=MyRecipe;User ID=sa;Password=TestPword#123;" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "IdentityServer": { "Clients": { "MyRecipes2.Client": { "Profile": "IdentityServerSPA" } } }, "AllowedHosts": "*" } 10) The last step is to update the database to model in the project to do this run the following commands. dotnet ef migrations add InitialCreate dotnet ef database update 11) Now you can run the project with dotnet run like before. And access the app using localhost in the browser like before. This time there will be no data in the app when you start it.