Code Monkey home page Code Monkey logo

swat's Introduction

SWAT

What is SWAT?

SWAT stands for Singapore Weather And Traffic.

How to run?

Docker Compose

  1. Satisfy the prerequisites for Docker Compose https://docs.docker.com/compose/gettingstarted/
  2. Install docker-compose
  3. Run docker-compose build
  4. Run docker-compose up
  5. Go to localhost in your browser

Manual Running

Assuming that you have your postgres database running locally on port 5432

  1. Go to backend folder
  2. Install npm modules via npm install
  3. Update the DATABASE_URL in your .env file
  4. Run npm run start
  5. Create another terminal and travel to frontend folder
  6. Install npm modules via npm install
  7. Run npm run start
  8. Go to localhost:3001 in your browser

Business Objective

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.

Assumptions

  1. All endpoints are publicly available without authentication/authorization.
  2. Current information is only limited to Singapore.
  3. The interval for weather update is every 5 minutes.
  4. There is no need to handle race conditions.
  5. Area name is unique and lat and long doesn't change.
  6. List of cameras will not change. There are no additional or removal of cameras.
  7. 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.

Functional Requirements

  1. User is able to retrieve a list of locations given a date and time.
  2. User is able to retrieve traffic imagery and weather conditions given a location.

Non-Functional Requirements

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

Performance

Scalability

Usability

Maintainability

swat's People

Contributors

jmtiong avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.