Skip to content

DarkKowalski/city-info-meshup

Repository files navigation

SOA Homework

All APIs can return a result in either JSON or XML format, read API Doc and checkout samples for more info.

Notice

Read Dockerfile.api and Dockerfile.web, you can remove or change gem and npm mirrors

Read docker-compose.yml and setup environment variables!

All data comes from the the Internet and make sure it can be accessed from your country!

You must setup API Keys for

  • openweathermap.org
  • newsapi.org
  • aqicn.org

Usage

docker-compose up

then open http://localhost:8080

Screenshot

Notice

screenshot

Meshup

screenshot

screenshot

Failure

screenshot

Design and Implementation

Backend

Based on sinatra.rb (Ruby)

backend/app/services contains upstream API services

backend/app/routes contains our own API services

Frontend

Based on Vue (Typescript)

frontend/src/api/api.ts contains utils to request our own API services

frontend/src/components/Meshup.vue contains our UI layout and its own business logic

Dataflow

A user acquires static pages

               request
End user     ----------->    Server 
(Browser)    <----------- (Web Service)
             static pages

A user queries a city

               request                    request
Our code     ----------->    Server     ----------->    Upstream APIs
(Browser)    <----------- (API Service) <-----------    (API Service)
            gathered data                sparse data

About

SOA Homework SSE Tongji University 2020

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published