-
Install latest .Net Core SDK.
-
Install latest Node.js LTS.
-
Install your IDE of choice. The common choices are:
- VSCode for both frontend and backend development (VSCode is high performant and surprisingly good even for backend)
- if you use VSCode it's recommended to open 2 instances:
- the one with
root
folder (to work on frontend) - the one with
root/webapi
folder (to work on backend)
- the one with
- if you use VSCode it's recommended to open 2 instances:
- Rider or Visual Studio for Backend development
- WebStorm or Visual Studio Code for frontend development
You could choose one from above or use your own IDE if you feel productive with it :)
- VSCode for both frontend and backend development (VSCode is high performant and surprisingly good even for backend)
-
Install git.
-
Install your git client of choice (we tend to use IDE's git clients or console, but GitKraken or GitExtensions might suit you as well).
-
Install docker
-
Clone repository.
-
Open root project folder in VSCode (if it's one of your chosen IDEs) and install recommended extensions (VSCode should ask you to do that, otherwise just go to Extensions tab and type '@recommended' ).
-
Install charpier extension into VisualStudio/Rider and prettier extension into WebStorm/VsCode.
- Configure csharpier to reformat on save in Rider/VisualStudio (go to plugin settings and turn on 'Run on Save' flag), WebStorm/VsCode are handled automatically.
-
Run
scripts/postgresql/start_postgres.ps1
. It will start local PostgreSQL in Docker. -
Run
yarn install
from root folder of the repo. It will install JS libraries. You could runyarn start-remote
to develop frontend locally pointing to the remote backend. -
Try to run the backend project (
webapi/MccSoft.TemplateApp.sln
) as usual (e.g.F5
from VSCode/Rider/VisualStudio, assumingMccSoft.TemplateApp.App
is a startup project). Frontend should start automatically together with backend. If you run into issue, consult your teammate :)- You could also run frontend separately from backend:
- If you restart backend often, you could speed up startup by running frontend via
yarn start
fromfrontend
folder (otherwise backend will start frontend on every restart); - You could use remote backend (that way you don't have to start it locally). Run
yarn start-remote
fromfrontend
folder.
- If you restart backend often, you could speed up startup by running frontend via
- You could also run frontend separately from backend:
-
Go read about automated tests and set up infrastructure for them. Run autotests locally, they should all be green.
-
Read Development Howto to know more about day-to-day development.