This is a weather app based mainly on the ArcGIS Maps SDK for Javascript, @arcgis/map components, vue 3, typescript.
VSCode + Volar (and disable Vetur).
VSCode: Open the root folder as a workspace.
TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.
See Vite Configuration Reference.
Prerequisites: You need to have node LTS installed.
This project uses the Opencage Geocoder API and the Open Weather Map API.
For both services, an API-Key is required.
Rename the file .env.example to .env.local and replace the placeholders with your own API-Keys.
npm cinpm run devnpm run buildRun Unit Tests with Vitest
npm run test:unitRun End-to-End Tests with Playwright
# Install browsers for the first run
npx playwright install
# When testing on CI, must build the project first
npm run build
# Runs the end-to-end tests
npm run test:e2e
# Runs the tests only on Chromium
npm run test:e2e -- --project=chromium
# Runs the tests of a specific file
npm run test:e2e -- tests/example.spec.ts
# Runs the tests in debug mode
npm run test:e2e -- --debugLint with ESLint
npm run lintPrequisite: You need to have node.js and docker (docker desktop in windows or docker in linux) installed.
-
Set API keys in
.env.local -
Run
npm run buildto build the production build of the app. -
Run
docker build -t weather-app .to build the docker image. -
Run
docker run --name weather-app -p 8080:80 weather-appto build and start the container -
To start and stop the container, run
docker start weather app/docker stop weather-app
