Giter VIP home page Giter VIP logo

banka-2-backend's Introduction

Backend Documentation

Setup & Installation

Requirements

The following software is required for the development process:

  1. Java - if you want to run the project locally, run ./run init to download the JDK automatically into lib, which will enable you to run any command on the project. Alternatively, you can download Java 17 JDK manually, and set the PATH as well as JAVA_HOME variables to point to the installation dir. (PATH should point to the /bin directory, while JAVA_HOME should point to the Java installation directory (the "root" directory.)) OpenJDK is recommended.
  2. Apache Maven - included in the project repository.
  3. Docker Desktop - required for building and testing the project. Please download and install Docker Desktop if you're not already using it.

Installing (Forking)

Start by forking the latest sprint branch into your GitHub account.

Once you clone the project to your computer, run the following command:

./run init

This script will download the required JDK and set up your local .git repository.

Building

The service can be deployed using locally-installed Maven, Java and other services (MariaDB and Flyway), or can be run using Docker.

For development, it is recommended to compile the Java code locally, while running it in Docker (together with other services which are containerized as well.)

For production, it is recommended to compile the Java code inside the provided Dockerfile as well.

The run file is the central tool for building the project. More information is available with the ./run help command.

Hooks

NOTE: GIT HOOKS ARE CURRENTLY DISABLED.

This project is configured to use several hooks via the init file which copies them into .git/hooks.

  • Pre-commit hook: formats the code before committing.
  • Pre-push hook: runs all the required services and tests the application. If testing fails, the push is aborted.

Resources

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.