Cloning Magic locally

This recipe helps you clone Magic locally, and assumes you’ve got VS Code, NodeJS, Angular CLI, and the .Net SDK version 6 or higher. You can also use Visual Studio instead of VS Code if you’re on Windows, at which point you only need to open the “magic.sln” file. When you’ve made sure you’ve got all of these parts, clone this repository locally using the following.

git clone https://github.com/polterguy/magic.clone.git

Then run the “clone.sh” file, and wait until it’s done.

./clone.sh

You now have everything needed to run and debug Magic locally within your “src/” folder. Whenever you need to pull the repositories again simply execute “pull.sh” again. To debug, and/or run Magic, type the following in a terminal.

cd src

# This requires having VS Code locally installed and in your path
code ./

Then open two terminal windows in VS Code and type the following into the first.

cd magic
cd backend
dotnet run --project dev_backend.csproj

Type the following into the second terminal window.

cd magic
cd frontend
npm install
ng serve

When ng serve and dotnet run is done, you can visit localhost:4200 in your browser, and you should be set. Notice, you will need a database to configure Magic. Below are recipies for how to accomplish this if you don’t have a database accessible already somewhere. To debug, make sure you’ve got the OmniSharp C# debugger plugin installed in VSCode, click F5 while in VS Code, and set breakpoints where you wish to debug Magic locally on your development machine. This is configured through the .vscode/launch.json and .vscode/tasks.json files. If you started Magic first with dotnet run you have to stop that process before you start debugging Magic.

Docker database images

This project also contains “docker-compose.yml” files for SQL Server, PostreSQL, and MySQL, allowing you to locally start a database instance using Docker. These files can be found within the “db” folder, that contains one folder for each database type, allowing you to test Magic with any of these databases locally. To start for instance SQL Server, execute the following from a terminal.

cd db
cd mssql
docker-compose up

The connection strings for each database type can be found below.