Coder Social home page Coder Social logo

sustainable-city-management's Introduction

Sustainable City Management

This application provides easy and intuitive real time visualisation of different data indicators in dublin city like dublin bikes, dublin bus , Pedestrian Data, Dublin AQI levels. It further uses complex predictive models to generate real time trends from this real time data. The trends within different data points are then combined together to generate real time recommendations based on the co-relation analysis within these data points. These recommendation will help the city managers/planners to efficeintly plan out city resources. In addition this application will also provvide the simulated data in case of failure or absesne/failure of any of the external data sources This repository contains the backend services of this application. This application is divided into a set of individual microservice projects representing a unique service. Following are the set of microservices representing different services:

Gateway - (gateway) Gateway service acts as an entry point for the application. All the external requests are routed to the individual microservices through the gateway. It's also used to perform security checks and filter out requests that fail to satisfy the security requirements. authorization. It routes requests to individual services using a service address registry.
Eureka - (eurekaserver) Acts as a service registry.
User - (user-service) handles user registration and login.
Util - (util) A simple library project having utility functions like generating tokens etc.
Real Time Data - (real-time-data-processor) service is responsible for fetching the real time data from external data providers. It also provides simulated data in case of failure of external data source.
Trends And Recommendations - (data-trends-predictions) python service is used to provide real time trend analysis and recommendations. IT also implements simulation models to generate simulated data.

Prerequisites to run the project -

Java 8/8+
Docker https://docs.docker.com/get-docker/

To run the application locally run the following commands in sequence (N.B. TCD Wifi interferes with this so please be on another network)

  1. Eureka (Discovery Service)
    From the main project directory: cd eurekaserver
    mvn clean package

  2. Run utility/library project -
    Run from main project directory - cd utils
    mvn clean install

  3. Run gateway service -
    Run from main project directory - cd gateway
    mvn clean package

  4. Run user service -
    Run from main project directory - cd user-service
    mvn clean package

  5. Run real-time-data-processor -
    Run from main project directory - cd gateway
    mvn clean package

  6. After running the above commands, Docker can be used to run the application on the local setup. Run the following commands get application up and running (N.B. TCD Wifi interferes with this so please be on another network)
    docker-compose build
    docker-compose up -d

To Build only a particular service/container -

docker-compose up -d --no-deps --build <service_name>

To Stop all the containers -

docker-compose stop

To see logs of the service container -

docker-compose logs <service_name>/<container_name>

sustainable-city-management's People

Contributors

sophieccc avatar akulr avatar chaitu25 avatar akashpatil7 avatar sheetalraut avatar aryanveer avatar ciarag98 avatar maddiecomtois avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  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.