WIP: Road to 1.0.0 #1

Draft
miguel456 wants to merge 123 commits from develop into master
Showing only changes of commit f267da3760 - Show all commits

View File

@ -1,13 +1,13 @@
# THIS IS A DEVELOPMENT BUILD. USE OF THIS BRANCH IS NOT SUPPORTED.
## Raspberry Teams - The Simple Staff Application Manager v 0.6.2 [![Crowdin](https://badges.crowdin.net/raspberry-staff-manager/localized.svg)](https://crowdin.com/project/raspberry-staff-manager)
## RB Recruiter - The Simple Staff Application Manager v 0.6.2 [![Crowdin](https://badges.crowdin.net/raspberry-staff-manager/localized.svg)](https://crowdin.com/project/raspberry-staff-manager)
## The quick and pain-free staff application manager
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?
Have you ever gotten tired of managing your community'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 for a gameserver network, but sharing is caring!
Wish you had a better application managemet strategy? Well, then RB Recruiter is for you!
# Features (not exhaustive)
@ -33,54 +33,60 @@ Wish you had a better application managemet strategy? Well, then Raspberry Teams
# 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!
- Customisable front page
- REST API (underway)
- Support more game servers and communities
- Editable homepage
- CKEditor 5 for all text fields
- More form field types
- Check out this [pull request](https://code.spacejewel-hosting.com/spacejewelhosting/staffmanager/pulls/1) for more planned features.
- ~~Web installer~~
Next release: v0.7.0, which brings a number of fixes and a REST API to the table.
# Technical overview
Tech stack:
- [Laravel 7](https://laravel.com/)
- [Laravel 8](https://laravel.com/)
- [Eloquent ORM](https://laravel.com/docs/5.0/eloquent)
- [AdminLTE](https://adminlte.io/) / [Bootstrap 4](https://getbootstrap.com/docs/4.0/getting-started/introduction/)
- [jQuery](https://jquery.com/) / [Plain Javascript](https://www.javascript.com/)
- [vueJS](https://vuejs.org/) (in the future)
- [jQuery](https://jquery.com/)
- [Bootstrap 4](https://getbootstrap.com/)
- [Icons by FontAwesome](https://fontawesome.com/)
# Stability
Currently, the ``master`` branch is highly unstable, since it's under active development. Expect it to break with each commit. Even though I make an effort to make sure each commit is good to go before pushing, things might still break unexpectedly, and you may find a lot of bugs (which you should report).
Currently, the ``master`` branch is unusable. It's currently broken and bug-ridden, and it's also protected to prevent more broken commits. The development branch is currently the stable enough branch to be used, however, please note that it's still actively updated, albeit with less frequency. Rest assured that no broken commits will be uploaded to develop without testing first.
Every released version is currently pre-release. If you really want to run this before version ``1.0.0`` comes out, always stay on the latest version, as those will always be tested before release, ensuring less chaos.
After 1.0.0, master will be used as the main branch, receiving new, tested features from develop as pull requests. The master branch will only be usable and fixed after it's merged with develop.
*Note: This application is NOT production ready! It won't be until the first stable release comes out, which might take a bit longer.
*Note: This application is NOT production ready! It won't be until the first stable release comes out, which might take a bit longer, due to me having other responsabilities outside this project.
# Operating System Requirements
Currently, this application is only supported on Linux environments (Ubuntu 20.04 or derivatives are recommended).
Currently, this application is only supported on Linux (any distro). No support will be provided for Windows installs. Sorry!
# Software Requirements
- ``composer`` (min version: 1.8.4)
- ``npm`` (tested w/ v 5.8.0)
- ``php`` (required PHP 7 or newer - lower versions unsupported!)
# Currently broken features
- User deletion is not working at the moment.
- Notifications are semi-broken; Sometimes they work, sometimes they don't. Scheduled to be fixed on next release.
# PHP Extension Requirements
- JSON
- Curl (highly recommended)
- Image Magick (imagick) for 2FA support
- ImageMagick (imagick) for 2FA support
Most of these extensions are already enabled by default so you don't need to worry.
# Installation
Make sure all prerequisites are installed. Afterwards, clone this repository, make ``install.sh``executable and run it.
The automatic installer may not work, but it's still worth to give it a try. If after the installation you find errors, clear the config cache. This is something the installer doesn't do correctly yet.
If errors presist, please install the app the traditional Laravel way. Execute the install script to start.
# Configuration
Configuration is currently done via the installer. Alternatively, you may also edit the ``.env`` file directly.
This process will be moved to the browser later.
~~This process will be moved to the browser later.~~
# Bug reports
Please report any bugs you find to the issues section here! It'd be immensely helpful. PRs are also accepted.
Please report any bugs you find to the issues section. Since this project is being tracked on JIRA Software, the issue tracker will be moved to JIRA Service Desk. Atlassian has a great suite of products for software developers and RB Recruiter could benefit from this workflow, especially when more developers are added down the line.