GithubHelp home page GithubHelp logo

awconstable / happiness Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 248 KB

A team happiness collection and visualisation PoC

License: GNU General Public License v3.0

Java 77.69% HTML 13.77% JavaScript 5.15% CSS 2.62% Shell 0.77%
employee-engagement happiness visualization team-metrics

happiness's Introduction

Team Happiness Meter

A proof of concept team happiness meter

Employee happiness is important, this application provides a simple method of capturing happiness ratings over time

CircleCI CodeQL codecov Libraries.io dependency status for GitHub repo dockerhub

Limitations

This application is a proof of concept, it is not production ready. A non-exhaustive list of known limitations:

  • Ratings can be submitted multiple times per person within a period allowing the results to be intentionally or unintentionally skewed
  • No security whatsoever - anonymous users can easily delete or alter all data

Dependencies

  1. MongoDB
  2. Team Service

View happiness trends for the last 12 months

http://localhost:8080


Developer guide

Compile

mvn clean install

Run in development

#bring up dependencies
docker-compose up
#web
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.data.mongodb.host=<mongo host> --spring.data.mongodb.port=<mongo port> --spring-data.mongodb.database=<mongo db> --spring.cloud.discovery.enabled=true --spring.cloud.service-registry.auto-registration.enabled=true --spring.cloud.consul.discovery.enabled=true --spring.cloud.consul.host=<consul host> --spring.cloud.consul.discovery.prefer-ip-address=true --spring.cloud.consul.port=<consul port> --spring.cloud.consul.config.enabled=true"
#email
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.mail.host=<smtp host> --spring.mail.port=<smtp port> --team.service.url=<team service url>"

Run happiness app

See docker-library/openjdk#135 as to why spring.boot.mongodb.. env vars don't work

docker stop happiness_app
docker rm happiness_app
docker pull awconstable/teamhappiness
docker run --name happiness_app -d -p 8080:8080 --network mongonetwork -e spring.data.mongodb.host=<mongo host> -e spring.data.mongodb.port=<mongo port> -e spring.data.mongodb.database=<mongo db>  -e spring.cloud.discovery.enabled=true -e spring.cloud.service-registry.auto-registration.enabled=true -e spring.cloud.consul.discovery.enabled=true -e spring.cloud.consul.host=<consul host> -e spring.cloud.consul.discovery.prefer-ip-address=true -e spring.cloud.consul.port=<consul port> -e spring.cloud.consul.config.enabled=true" awconstable/teamhappiness:latest

Run happiness emailer - runs via cron

docker run --rm --name happiness_email --network mongonetwork -e spring_data_mongodb_host=<mongo host> -e spring_data_mongodb_port=<mongo port> -e spring_data_mongodb_database=<mongo db> -e rating_url=<rating url> -e view_url=<view url> -e email_subject="How do you feel?" -e from_email=<from email> -e spring_mail_host=<mail host> awconstable/teamhappiness-emailer:latest

happiness's People

Contributors

awconstable avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar

happiness's Issues

not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)?

when running on arch linux:

> sudo systemctl start docker
> sudo docker-compose up
> sudo docker-compose up
Creating network "happiness_happinessnetwork" with the default driver
Creating mongo_container ... 
Creating mailhog         ... 
Creating prometheus_container ... error

Creating mongo_container      ... done
Creating mailhog              ... done
us.yml" caused: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
Creating teamservice          ... done

ERROR: for prom  Cannot start service prom: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: rootfs_linux.go:59: mounting "/vagrant/prometheus.yml" to rootfs at "/var/lib/docker/overlay2/8490169c8df72e8203d598acf187f5e23a6dd910c3fac2bad2af6ca85af65e21/merged/etc/prometheus/prometheus.yml" caused: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

is this a docker installation on arch, a prometheus, a vagrant, or a happiness thing?

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.