RB Recruiter (Previously Staff Manager) - The quick and pain-free staff application manager (for Minecraft, Discord, and anything else!)
Go to file
2020-07-09 05:37:11 +01:00
.github/ISSUE_TEMPLATE Update issue templates 2020-07-08 07:58:18 +01:00
.idea Beta version 2020-06-27 00:32:33 +01:00
.vscode Beta version 2020-06-27 00:32:33 +01:00
app Reverse npm silence 2020-07-09 05:37:11 +01:00
bootstrap First commit 2020-04-26 05:09:32 +01:00
config Add user directory & isolate authorisation 2020-06-27 19:15:33 +01:00
database Beta version 2020-06-27 00:32:33 +01:00
public Use UUID conversion facade 2020-06-28 00:46:49 +01:00
resources Fix error where exception appeared instead of error message 2020-06-28 04:51:32 +01:00
routes Add user directory & isolate authorisation 2020-06-27 19:15:33 +01:00
storage Major changes - Vote system now finished 2020-05-30 00:20:39 +01:00
tests First commit 2020-04-26 05:09:32 +01:00
.editorconfig First commit 2020-04-26 05:09:32 +01:00
.env.example Updated config defaults 2020-07-08 08:14:36 +01:00
.gitattributes First commit 2020-04-26 05:09:32 +01:00
.gitignore Added Outstanding applications page 2020-05-01 05:42:19 +01:00
.styleci.yml First commit 2020-04-26 05:09:32 +01:00
artisan First commit 2020-04-26 05:09:32 +01:00
composer.json Beta version 2020-06-27 00:32:33 +01:00
composer.lock Beta version 2020-06-27 00:32:33 +01:00
install.sh Remove invalid reference to Artisan 2020-07-09 05:12:18 +01:00
LICENSE Added main page 2020-04-27 07:28:00 +01:00
package-lock.json Significant changes 2020-05-22 03:49:16 +01:00
package.json Significant changes 2020-05-22 03:49:16 +01:00
phpunit.xml First commit 2020-04-26 05:09:32 +01:00
README.md Update README.md 2020-07-08 07:50:14 +01:00
server.php First commit 2020-04-26 05:09:32 +01:00
webpack.mix.js Significant changes 2020-05-22 03:49:16 +01:00

Raspberry Teams - The Simple Staff Application Manager v 0.1.0

The quick and pain-free staff application manager (for Minecraft)

Have you ever gotten tired of managing your Minecraft server/network's applications through Discord (or anything else) and having to scroll through hundreds of new messages just to find that one applicant's username?

Wish you had a better application managemet strategy? Well, then Raspberry Teams is for you! It was originally designed and developed for internal use, but sharing is caring! After noticing a worrying lack of "human resources" management systems on SpigotMC's resources section (There was only one outdated/unsupported project), I've decided to take it up into my own terms and start working on it.

Features (not exhaustive)

  • Beautiful (customizable in future releases) landing page for your application management center; It displays all available staff ranks
  • Contact form on landing page for those un-registerd users
  • User registration/authentication system; Users will be sent to the authentication flow to complete their application, if not logged in
  • Candidate tracking system - Applicants will be tracked from start to finish.
  • Peer approval system - Have all your staff members vote on applications and decide whether they should be accepted (this is overridable)
  • Interview scheduling (simple) - Schedule interviews with your candidates and automatically notify them!
    • Interview notes: Every staff member is able to add and edit interview notes (how the interview went, etc)
  • Application comments: Finally no more having to go to a private Discord channel just to comment on a single application. Comments are organised neatly for every application! This should help in the decision process of voting for an application.
  • User profiles - Fill out your profile for others to better find you
  • User directory - Public profile directory for everyone
  • Staff rank management - Add/remove ranks on demand, that users will be able to apply to
  • Simple form builder - Create your application forms easily!
  • Termination - Has a staff member met their untimely demise? Terminate them. This will strip their permissions and roles.
  • Controllable permissions - Every user has permissions! Control who has access to what (You can skip the application process and add staff members directly here).
  • Ban system - Having trouble with pesky spammers? Ban them! This will publicly shame their profile and keep them from signing up or logging in.
  • Notifications: Notifies slack and email primarily

And many more features!

Roadmap

Many other features are currently planned for this app, such as:

  • Discord role management (approved applicants)
  • Luckperms/PEX integration - For now, you'll have to promote users manually in-game
  • Flexibility - This app is built on a flexible concept! It will be able to be used for other purposes other than MC staff members.
  • Customisable front page (priority)
  • Auto provisioning - Sign up on a website and get your instance of Raspberry Teams up and running in no time
  • Suggestions accepted!

Technical overview

Tech stack:

  • Laravel 7
  • Eloquent ORM
  • AdminLTE / Bootstrap 4
  • jQuery / Plain Javascript
  • vueJS (in the future)

Operating System Requirements

Currently, this application is only supported on Linux environments (Ubuntu 20.04 or derivatives are recommended).

Software Requirements

  • composer (min version: 1.8.4)
  • npm (tested w/ v 5.8.0)
  • php (required PHP 7 or newer - lower versions unsupported!)

PHP Extension Requirements

  • JSON
  • Curl (highly recommended)

Installation

Make sure all prerequisites are installed. Afterwards, clone this repository, make install.shexecutable and run it. Note that this script will change the database credentials to Vagrant's defaults, so if you're not using Vagrant, make sure to edit the .env file with your database settings.

Configuration

This app requires other configuration parameters:

  • Google Recaptcha - create captcha key pair
  • IP Geolocation API Key - get your key here
  • SMTP Server and Email account (for email notifications)
  • Slack integration webhook URL (create an application in Slack Dev Center - Check webhook docs)

These configuration settings are fairly self explanatory, but here's a list of what you need to fill on the .env file:

RECAPTCHA_SITE_KEY

RECAPTCHA_PRIVATE_KEY

IPGEO_API_KEY

MAIL_PORT

MAIL_HOST

MAIL_USERNAME

MAIL_PASSWORD

And the database settings, located at the top. This process will be later streamlined with a web installer.

Bug reports

Please report any bugs you find to the issues section here! It'd be immensely helpful. PRs are also accepted.