pcorbel / techline

A timeline for Tech Teams

Home Page:https://techline.corbel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

techline

A timeline of events for tech teams

License GitHub release GoDoc

screenshot_project The WebUI


How to setup

docker-compose --file deployments/docker-compose.yaml up

Then go to localhost:8080


How to edit settings

They are three files to add your own configuration to the project:

Exemple:

  - title: "Other" # Your title
    color: "#0F9D58" # Your color in hexa format
    icon: "fas fa-star" # Your icon code from Font Awesome 5

Project Architecture

Backend

Description

The backend is based on Golang with the echo library to serve as API endpoint and to serve the frontend website

Dependencies Management

To manage dependencies, we use go modules

To update dependencies, execute: go get -u && go mod tidy

How to run development mode

To run development mode backend, execute: go run cmd/*.go

How to lint your code

To lint your code, execute: go fmt ./...

How to build

To build backend, execute: go build


Frontend

Description

The frontend is based on:

Dependencies Management

To manage dependencies, we use npm

To update dependencies, execute: npm upgrade --save

How to run development mode

To run development mode frontend, execute: npm run serve

How to lint your code

To lint your code, execute: npm run lint

How to build

To build frontend, execute: npm run build


Storage

The storage is based on:

  • Postgres to store data
  • gorm to serve as an interface between backend and storage

Generate dummy data

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"Data Release",
    "color":"#4285F4",
    "icon":"fab fa-github",
    "message":"Release Data n°2.0.0",
    "author":"The Awesome Data Team",
    "created_at":"2019-01-01T20:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"Android Release",
    "color":"#0F9D58",
    "icon":"fab fa-android",
    "message":"Release Android n°2.0.0",
    "author":"The Upper Dupper Android Team",
    "created_at":"2019-01-01T19:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"iOS Release",
    "color":"#DB4437",
    "icon":"fab fa-apple",
    "message":"Release iOS n°2.0.0",
    "author":"We dont put our names because we think different",
    "created_at":"2019-01-01T18:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"Back Release",
    "color":"#F4B400",
    "icon":"fas fa-database",
    "message":"Release Back n°2.0.0",
    "author":"The Back Inde Team",
    "created_at":"2019-01-01T17:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"A/B Test",
    "color":"#4285F4",
    "icon":"fas fa-star",
    "message":"The color is now light purple on 500 users in Liechtenstein.\nLets make some analytics on it 🤓",
    "author":"The Artist",
    "created_at":"2019-01-01T16:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"Other",
    "color":"#0F9D58",
    "icon":"fas fa-star",
    "message":"I ate an apple 👍",
    "author":"Someone",
    "created_at":"2019-01-01T15:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"Manual Operation",
    "color":"#F4B400",
    "icon":"fas fa-hand-paper",
    "message":"Platform has been restarted",
    "author":"The on call dude",
    "created_at":"2019-01-01T14:00:00.000Z"
}'

curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
    "title":"Incident",
    "color":"#DB4437",
    "icon":"fas fa-bug",
    "message":"The platform crashed",
    "author":"The stagioss",
    "created_at":"2019-01-01T13:00:00.000Z"
}'

About

A timeline for Tech Teams

https://techline.corbel.app

License:Apache License 2.0


Languages

Language:Vue 37.2%Language:Go 32.4%Language:JavaScript 14.8%Language:Shell 12.5%Language:HTML 3.1%