Coder Social home page Coder Social logo

jewelf / burningokr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from burningokr/burningokr

0.0 0.0 0.0 7.3 MB

Burning OKR

License: Apache License 2.0

Shell 0.20% JavaScript 0.09% Java 47.92% TypeScript 41.93% CSS 0.35% HTML 7.15% PLpgSQL 0.32% Dockerfile 0.03% SCSS 1.86% TSQL 0.14%

burningokr's Introduction

Burning OKR

home | documentation (de) | documentation (en)




BurningOKR

Burning OKR is our vision to help consistently establish focus and alignment around company goals and embed transparency into the corporate culture.

BurningOKR has been developed as a web application with an Angular Frontend and Java Spring Boot Backend. As a database, Postgres SQL is used.

Quick start (familiar with Docker)

When you have Docker and Docker-Compose installed you can proceed with the next steps, otherwise please install Docker and Docker-Compose first.
You can use our docker-compose-prod.yml file for easy use and compatibility!

  1. Download the docker-compose-prod.yml file
  2. Download backend.env.sample file and rename it to backend.env
  3. Download backend.env.sample file and rename it to postgres.env
  4. Now fill in your configurations in the two downloaded .env-files
  5. Hint: When you don't want to use Azure or a SMTP-Mailserver just comment these parts in the .env-files out and they won't be used. For more information read the full docs.
  6. After that you are good to go and you can run docker-compose -f docker-compose-prod.yml up in the directory where the previously downloaded files are saved. Hint: When you want to reuse the console windows add a -d to the compose command to run in detached mode!

Installation

You can install BurningOKR using the following technologies.

Getting started with the development

We are already working on a faster and easier installation process, so stay tuned.

Checklist

  1. Please follow our Code Guidelines and General information about implementations 0.1 You may also read the Frontend-Readme
  2. Install PostgreSQL or MSSQL
  3. Install JDK 8. The Open JDK 8 can be downloaded here.
  4. Install the (!) LTS Version of node & npm here
  5. Download the following Batch-Script and put it in the folder, where you want the project to be. Execute the script.
    Or execute the following command:
curl https://raw.githubusercontent.com/BurningOKR/BurningOKR/master/docs/scripts/SetupBurningOKR_windows.bat > temp.bat && temp.bat && DEL temp.bat

The following tasks will be done by the script:

  1. Clone the Repository with git clone https://github.com/BurningOKR/BurningOKR. (The whole repository, including frontend and backend)

  2. Install NodeJS (optional)

  3. Install Docker (optional)

  4. Install Angular npm install @angular/cli -g

  5. Install Dependencies (in the frontend folder) npm install

  6. Install Postgres (optional via Docker)

  7. Open the frontend-folder and the backend-folder in seperate windows in your IDE. (We recommend IntelliJ, VS Code should also do the trick)

  8. Configure the backend.

  9. Start the frontend with npm start

  10. Start the backend with the gradle Start backend configuration.

    1. Alternatively create the configuration like
      intelliJ-Run-Configuration

Source Code

The source code of the project consists of two parts. A Frontend SPA with the framework Angular and a Spring Boot project for the backend.

With git clone https://github.com/BurningOKR/BurningOKR the complete repository (including frontend and backend) is cloned.

Frontend

With IntelliJ, you can now import the frontend project.

Next, you have to run npm install on the command line to download the dependencies.

With npm start the application is started and can now be called via http://localhost:4200.

Backend

To open the project in IntelliJ, go to Import Project and select the file build.gradle in the folder backend. In the dialog that opens you have to select the field use auto-import.

If a configuration was not created automatically to start the project in IntelliJ, a gradle configuration must be created. For the gradle project, okr-tool must be selected, and for tasks, bootRun must be entered. intelliJ-Run-Configuration The backend project uses Project Lombok. To use Project Lombok in your IDE, please refer to using Lombok.

If PostgresSQL has already been successfully installed and configured in the previous step, the Spring Boot application can now be started.

To start the application without IntelliJ, switch to backend/burning-okr and run ./gradlew bootRun --scan --scan -Dspring.profiles.active=local. On some UNIX systems there might be some issues with gradle regarding finding the JDK. If some weird exceptions occur, try running export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home (replace the path with the actual path of your JDK). Then, restart your shell or run source ~/.bash_profile.

The REST interfaces are listed under localhost:8080/swagger-ui.html and can be called there.

Build and Test

With gradlew build the backend can be built.

With ng build the frontend can be built.

FAQ

  • I get some errors with npm install (python2, node-sass, node-gyp):
    Use the LTS version of node, not the current! https://nodejs.org/en/download/

  • I get a entityManagerFactory Persistence Exception / error on instancing entityManagerFactory when starting the backend
    Please make sure to use JDK8 on Tomcat. You can check the JDK Version on localhost:8080/manager. Then you can log in with the tomcat user for the gui. It should look like this tomcat-jdk

  • I can't log in into the tomcat manager gui Create a tomcat user for the web management console. You need to do this to access the manager app, that comes with tomcat. Start by editing the tomcat-users.xml file. Then add the following lines above </tomcat-users> (at the bottom of the file)

        <role rolename="manager-gui"/>
        <role rolename="admin-gui"/>
        <user username="username" password="password" roles="manager-gui,admin-gui"/>
    </tomcat-users>

    Change username and password to a secure account.

Contribute

Thank you to all the people and bots who already contributed to BurningOKR!

Made with contributors-img.


User Documentation

The current user documentation is available at https://burning-okr.gitbook.io/burningokr

Contact


You can write an E-Mail or mention our Twitter account @BurningOKR.


License


BurningOKR was initially developed as part of a training project at BROCKHAUS AG in Lünen.

Only an Open Source solution can unfold its true potential. That's why we released it on GitHub as an open-source project under the Apache 2.0 license.

See LICENSE.txt

burningokr's People

Contributors

rojanke avatar pbuschmann avatar ecco18 avatar simonlet avatar meepmr avatar jzumbrink avatar dturnschek avatar mwilman avatar dmaennel avatar ldornieden avatar tigoh avatar mjanatzek avatar robinj-bag avatar inotime avatar mouxdev avatar jages avatar wegmann-brockhaus avatar sebastian-siebert avatar nleinich avatar mvollendorf avatar visitingdeveloper avatar mrmutantus avatar 7grabi7 avatar hendrikhofer1 avatar msuttmeyer avatar lschultebraucks avatar mcjanjo avatar johnnyboy-24 avatar cptmino avatar justinn31 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.