The project is written in F# but it uses React internally for rendering (Functional components + Hooks), and an architecture similar to Redux for state management (Elmish). The API usage from the UI is minimal for the sake of simplicity (GET and PUT methods only).
EXPORT GITHUB_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
to allow interaction with the public GitHub API from the integration tests and backendEXPORT API_URL=http://xxx.xxx.xxx.xxx:8086
to compile the frontend container with the correct API URL hardcoded (some environments don't have "localhost" bound as the Docker host)docker-compose -f docker-compose.integration-tests.yml up --build
to execute the testsdocker-compose -f docker-compose.yml up --build
to execute the application
- Database:
DOCKER_HOST:5432
- Backend:
http://DOCKER_HOST:8086
- Frontend:
http://DOCKER_HOST:8087
- Install .NET Core SDK 3.1 and yarn
- Run
dotnet tool restore
to install all developer tools required to build the project - Run
dotnet paket restore
andyarn --cwd ./src/GitHubStars.Frontend install
to download all package dependencies EXPORT GITHUB_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
to allow interaction with the public GitHub APIdotnet run -p ./test/GitHubStars.Backend.Tests/GitHubStars.Backend.Tests.fsproj
to run the testsdotnet fsharplint lint GitHubStars.sln --lint-config ./fsharplint.json
to run the linter (Windows only. it can also be configured into an IDE)