Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sncf-connect-tech/vboard
Pins dashboard to share news among an organization
https://github.com/sncf-connect-tech/vboard
angularjs dashboard docker docker-compose elasticsearch hacktoberfest heroku java pins pinterest spring-boot
Last synced: 9 days ago
JSON representation
Pins dashboard to share news among an organization
- Host: GitHub
- URL: https://github.com/sncf-connect-tech/vboard
- Owner: sncf-connect-tech
- License: agpl-3.0
- Created: 2018-01-12T15:21:07.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T20:26:52.000Z (over 1 year ago)
- Last Synced: 2024-04-13T16:08:10.068Z (7 months ago)
- Topics: angularjs, dashboard, docker, docker-compose, elasticsearch, hacktoberfest, heroku, java, pins, pinterest, spring-boot
- Language: Java
- Homepage:
- Size: 20.1 MB
- Stars: 6
- Watchers: 10
- Forks: 5
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-short.txt
Awesome Lists containing this project
README
[![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com)
[![first-timers-only Friendly](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/)
-> come look at our [good first issues](https://github.com/voyages-sncf-technologies/vboard/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)[![Build, test and publish](https://github.com/voyages-sncf-technologies/vboard/workflows/Build,%20test%20and%20publish/badge.svg)](https://github.com/voyages-sncf-technologies/vboard/actions?query=branch%3Amaster)
[![](https://img.shields.io/docker/pulls/vboard/vboard-batchs.svg)](https://hub.docker.com/r/vboard)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)Dependency analysis: [![Known npm Vulnerabilities](https://snyk.io/test/github/voyages-sncf-technologies/vboard/badge.svg?targetFile=vboard-front%2Fpackage.json)](https://snyk.io/test/github/voyages-sncf-technologies/vboard?targetFile=vboard-front%2Fpackage.json) (npm)
V.Board is an information sharing app. It allows users to share "pins", that is byte-size pieces of information: an URL, a picture and a short description.
V.Board is designed to be used for communication among an organization teams: project advancement, technology watch, etc.This software has been used at oui.sncf since July 2016.
The public, open-source version of this project was published in January 2018. It's current status is: **INCUBATING**Online demo instance:
![Animated demo showing how to add a pin](vboard_addpin_demo.gif)
- [Features](#features)
- [Usage](#usage)
- [Contributing](#contributing)
- [Architecture](#architecture)
* [Authentication](#authentication)# Features
- a complete [Pinterest](https://www.pinterest.com)-like editable dashboard,
with comments and a search bar
- a "labels" system, with per-user favorites and notifications
- a "likes" system
- per-user configuration of an avatar, a team, a description...
- simple gamification, badges & leaderboard
- fully dockerized
- optional email notifications
- integrate with [KeyCloack](http://www.keycloak.org) or [AWS Cognito](https://aws.amazon.com/cognito/) for identity & access management
- a REST API
- a RSS feed# Usage
The following command starts V.Board locally :export TAG=latest
docker-compose build
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --no-buildYou can then access the website through http://localhost
and the swagger at http://localhost/api/v1/swagger-ui/# Contributing
Want to report a bug ? Suggest a feature ? Give us a hand ?
Go have a look at our [CONTRIBUTING.md](CONTRIBUTING.md) guide.# Architecture
V.Board is made of the folling modules, launched as `docker-compose` services:- `ws`: [SpringBoot](https://projects.spring.io/spring-boot/) REST web service (backend)
- `front`: [AngularJS](https://angularjs.org) 1.5 web app served by Apache (front)
- `batchs`: [logstash](https://www.elastic.co/fr/products/logstash) cron to update the ElasticSearch index from the database## Docker services
Some extra `docker-compose` services are used:- `elasticsearch`: a standard Elasticsearch instance
- `wsdb`: MySQL database for the backendThere are also some volumes used by the stack:
- `images`: contains all images for vboard pins and users
It is shared between the `ws` and `front` services: `ws` writes in it and `front` reads from it.
- `wsdb-data`: contains the backend database## Authentication
There are 3 supported mode of authentication, that are activated in this order:- through a [Keycloak instance](https://www.keycloak.org), if the environment variables `$KCK_ENABLED`, `$KCK_PUBLIC_HOST` & `$KCK_REALM_KEY` are defined,
_cf_. [KeycloakEnabledInEnv.java](https://github.com/voyages-sncf-technologies/vboard/blob/master/vboard-ws/src/main/java/com/vsct/vboard/config/KeycloakEnabledInEnv.java)
- through [AWS Cognito](https://aws.amazon.com/fr/cognito/), with a `X-AMZN-OIDC-DATA` HTTP header containing a JWT token,
if the environment variable `$AWS_COGNITO_ENABLED` is defined
- anonymous mode## Alternative software
- [linkding](https://github.com/sissbruecker/linkding): self-hosted bookmark service based on Python & SQLite
- [laarc](https://github.com/laarc/laarc): self-hosted HackerNews-clone based on Racket (LISP)
- https://tildes.net: self-hosted Reddit-clone in Python
- https://postmill.xyz: self-hosted social link aggregator with voting and threaded comments, built on PHP Symfony