SWAT stands for Singapore Weather And Traffic.
- Satisfy the prerequisites for Docker Compose https://docs.docker.com/compose/gettingstarted/
- Install
docker-compose
- Run
docker-compose build
- Run
docker-compose up
- Go to
localhost
in your browser
Assuming that you have your postgres database running locally on port 5432
- Go to
backend
folder - Install npm modules via
npm install
- Update the
DATABASE_URL
in your.env
file - Run
npm run start
- Create another terminal and travel to
frontend
folder - Install npm modules via
npm install
- Run
npm run start
- Go to
localhost:3001
in your browser
Create a web application that allows users to list, filter and view the weather and traffic conditions given a specific time and date with location.
- All endpoints are publicly available without authentication/authorization.
- Current information is only limited to Singapore.
- The interval for weather update is every 5 minutes.
- There is no need to handle race conditions.
- Area name is unique and lat and long doesn't change.
- List of cameras will not change. There are no additional or removal of cameras.
- List of areas will not change. There are no additional or removal of areas.
Backend README.md contains information regarding to how the GovSG APIs works.
- User is able to retrieve a list of locations given a date and time.
- User is able to retrieve traffic imagery and weather conditions given a location.
These are some of the factors to consider during building of the project.
Both frontend and backend utilizes Node Version: 18.16.1 NPM Version: 9.5.1