Code Monkey home page Code Monkey logo

oxisto / okr2go Goto Github PK

View Code? Open in Web Editor NEW
51.0 3.0 10.0 1.09 MB

okr2go (as in to go) is a simple tracker for your Objective and Key Results (OKR) that you can use locally just using a Markdown file and thus is available to go.

License: Apache License 2.0

TypeScript 6.21% HTML 1.36% Go 60.40% Shell 3.47% Dockerfile 0.62% JavaScript 4.80% Svelte 23.12%
golang tracker okr typescript team-management svelte sveltekit objectives-and-key-results

okr2go's Introduction

okr2go

Actions Status Go Reference GitHub Rlease License

okr2go (as in to go) is a simple tracker for your Objective and Key Results (OKR) that you can use locally just using a Markdown file and thus is available to go.

Ideally, this Markdown file is stored in a git repository, if you want to synchronize it with others. It also includes a simple React-based web frontend to view (and in the future, edit) your objectives.

Use a Release

Fetch a binary from the latest GitHub release corresponding to your system architecture and start it using ./okr2go. A browser window with the web ui should open automatically.

Alternativly, a prepared Docker image can be used. In this case the markdown file needs to be mounted into the container.

docker run -v $(PWD)/example.md:/example.md -p 4300:4300 ghcr.io/oxisto/okr2go

Build from Source

okr2go requires Go >= 1.16 and yarn installed.

Install Go

On Linux, follow the instructions at https://golang.org/doc/install or an instruction related to your distribution.

On macOS, use brew to install Go:

brew install go

Install yarn

On Debian/Ubuntu, the latest yarn version can be installed from the following ppa:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

On macOS, use brew to install yarn:

brew install yarn

Run build script

Run the included build script to install all dependencies (React and Go) and build an executable with the packed web frontend. This will also run go install, so that your system-specific executable is available globally, if you have the go/bin directory in your path.

./build.sh

okr2go's People

Contributors

dependabot[bot] avatar julianschuette avatar oxisto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

okr2go's Issues

Doesn't start

$ touch engineering_okrs.md
$ docker run -v $(PWD)/engineering_okrs.md:/example.md -p 4300:4300 ghcr.io/oxisto/okr2go

Unable to find image 'ghcr.io/oxisto/okr2go:latest' locally
latest: Pulling from oxisto/okr2go
a10c77af2613: Pull complete
7438cc2a811b: Pull complete
Digest: sha256:a348fd10abfe6af6a91b02552e53a0e7c7b89618275643cc379271e4195bf29e
Status: Downloaded newer image for ghcr.io/oxisto/okr2go:latest
Welcome to okr2go! Your ๐Ÿ“š tracker is ready at http://localhost:4300.

Expected

okr2go interface at http://localhost:4300

Actual

white screen with this console error

Uncaught (in promise) TypeError: Cannot read properties of null (reading 'length')
    at Array.Ke (index.svelte-9a203b5d.js:1:8486)
    at P (vendor-739d2ec6.js:1:407)
    at Array.et (vendor-739d2ec6.js:4:18884)
    at tt (vendor-739d2ec6.js:4:19909)
    at M (vendor-739d2ec6.js:4:4389)
    at new dn (vendor-739d2ec6.js:4:20682)
    at Le (index.svelte-9a203b5d.js:1:9105)
    at M (vendor-739d2ec6.js:4:4389)
    at new Ce (index.svelte-9a203b5d.js:1:9621)
    at F (start-7a194336.js:1:1098)

Create utility function for the NotFound/BadRequest construct

Return StatusNotFound if object is nil and StatusBadRequest if error


okr2go/rest.go

Lines 36 to 41 in bee4292

// @todo Create utility function for the NotFound/BadRequest construct
// @body Return StatusNotFound if object is nil and StatusBadRequest if error
objective, err = getObjectiveFromRequest(w, r)
if err != nil {
httputil.JSONResponseWithStatus(w, r, nil, err, http.StatusBadRequest)
return


This issue was generated by todo based on a @todo comment in bee4292. It's been assigned to @oxisto because they committed the code.

Persist changes

okr2go/rest.go

Lines 72 to 77 in ab4b135

// @todo Persist changes
httputil.JSONResponseWithStatus(w, r, result, nil, http.StatusOK)
return
}


This issue was generated by todo based on a @todo comment in ab4b135. It's been assigned to @oxisto because they committed the code.

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.