Go to file
MiniDigger cafb6839f1 fix some csp stuff
Signed-off-by: MiniDigger <admin@minidigger.me>
2021-04-05 18:06:29 +02:00
.github manual dispatch should run full deploy 2021-04-04 22:24:03 +02:00
.mvn/wrapper initial commit, api done 2020-07-08 17:19:41 +02:00
docker fix host rules 2021-04-05 17:40:46 +02:00
frontend start to work on discussion 2021-04-05 16:54:03 +02:00
src fix some csp stuff 2021-04-05 18:06:29 +02:00
.gitattributes fix image problem 2021-02-06 11:33:34 -08:00
.gitignore prepare for staging, do a bit of readme 2020-07-28 20:49:32 +02:00
CONTRIBUTING.md Add simple contribution guidelines 2020-08-30 15:18:22 +02:00
LICENSE [ci skip] retain ore licence 2020-08-04 11:52:26 +02:00
mvnw hot reloading w/docker 2020-09-02 11:24:23 -07:00
mvnw.cmd initial commit, api done 2020-07-08 17:19:41 +02:00
pom.xml Update dependency org.jdbi:jdbi3-bom to v3.18.1 2021-03-26 09:13:01 +01:00
README.md refactor: make permission voters use abstract methods 2021-03-15 17:30:49 +01:00
renovate.json ignore old package.json 2021-03-15 20:19:01 -07:00

Hangar - Papers upcoming Plugin Repository

This is the repository for Hangar, a plugin repository used for paper plugins and similar pieces of software.

Hangar is a "fork" of Ore, created by the Sponge project, but rebuild from the ground up using the Spring Boot Framework in Java for the backend, and nuxt (and vuetify) for the frontend (which is partially server rendered). We would like the thank all Ore contributors, without them, this project would never have been possible.

There may or may not be a staging instance running at https://hangar-new.minidigger.me or https://hangar.minidigger.me It may or may not allow you to log in, please don't create too much of a mess so that I don't always need to nuke the DB when I want to use it.

Contributing

Hangar

The project consists out of 4 parts. The frontend(Nuxt and Vue), the backend (Spring Boot), the database (PostgreSQL) and an optional HangarAuth project. Which will be discussed below.

Fork the project

Fork the project and pull it in your IDE.

Prerequisites

  • Docker is required in order to run the PostgreSQL database.
  • Java 11 or higher.

Setting up

To get the project running locally you need to follow a few steps:

  1. To get the dummy database up and running move to the docker folder cd docker then run docker-compose -f dev-db.yml up -d. Alternatively if you are using Intellij you can press the green arrow in the docker/dev-db.yml file.
  2. Run the Spring Boot application. You can do it in the CLI with mvn spring-boot:run or if you're using intellij it's included in the run configurations.
  3. Move to the frontend directory: cd ../frontend. In that directory run yarn install. This will install all the needed Node modules.
  4. After the installation you run yarn run dev which will initiate the build and launch.
  5. After that browse to http://localhost:3000 and if all went well Hangar should be up and running.

Hangar Auth

Building with Docker

If you want to build both Hangar and HangarAuth to run together (without a fakeuser), clone both this repo, and HangarAuth Make sure both Hangar and HangarAuth directories are siblings in your file system. cd into Hangar/docker and run docker-compose up -d. That should set everything up for you. You can view the logs via Intellij's docker integration. I find its better to view the logs there, so that the Hangar logs and HangarAuth logs are separated. Note that when using docker, a different spring configuration file is used, Hangar/docker/hangar/application.yml. To reload changes to Hangar, just CTRL+F9 (rebuild) in Intellij. To rebuild changes to HangarAuth, just run docker-compose up -d --build and that will rebuild if there were any changes.

Deployment

Deployment happens via Docker, checkout the stack in the docker folder. You will want to modify the application.properties in the hangar folder.

Contributing

There is a bunch of stuff to do, some of that is noted in the Roadmap Project. Your best bet is joining #hangar-dev on the paper discord and just discussing with us. All contributions are very welcome, we will not be able to finish this alone!

Licence

Most of the frontend is a fork of Ore, licensed under MIT here. The rest is new code (but created in reference of Ore) and is licenced under the MIT licence too.