Giter VIP home page Giter VIP logo

jc_intern's People

Contributors

dende avatar erikbsly avatar harryak avatar nielsranosch avatar sauerlandf avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jc_intern's Issues

Code Review

Review messy code and make everything more uniform.

Default attendance for new events

When creating a new event, choir-admins should be able to set a default attendance. Each users' (including new users') availibity will then be pre-filled.

Export to CSV, TXT, ODS, XLS

For many views (users, events, attendances, ...), an export option for several formats would be very helpful.

Integrate NextCloud Login

Currently, NextCloud integration is done via the shared link api. It would be great, if instead, users who log in with us, are automatically logged in to NextCloud via some SSO-like solution. If Laravel passport can be a OAuth-Provider, then this could be possible. Maybe a creative solution is required.

This would open up a lot of NextCloud-features to users as not all features and plugin work with shared links. Examples: E-Mail, Contact sync, different possibilities of calendar sync via Nextcloud, etc.

Update via web

Currently, migrating the database and other update actions have to be performed manually. Some sort of automatic process would be nice (for database migrations, laravel's artisan migrate can be called).

Telegram Bot

A bot for Telegram would reduce time spent with end user interaction.

Some feature ideas for such a bot:

  • Remind users of deadlines if they did not report their availability on an event.
  • User-configurable reminders for events.
  • Bot can report availibities to database.
  • Bot can retrieve data from NextCloud.

Transfer-Readiness to other choirs

Move all references to our choir from Code to Configuration. Increase configurability so that this software is viable for other choirs. Example: Not all choirs are organized in semesters, and even if they are, those semesters should be configurable.

Improve role management

Roles cannot currently be changed (this is the bug part).

Roles should be changable for choir-admins, and they should be much more configurable in general. Furthermore, our code is not consistent when checking for roles.

New sysadmin-role

A new role for technical support would be helpful. A user in this role need not be active in the current semester to access all of the sites ressources, including all admin ressources. Ideally, this user will also see the laravel debugbar; however, this has proven difficult in the past, as the mere possibility of activating it for one user has had a significant impact on performance for all users.

Issues with maddhatter/laravel-fullcalendar

Getting maddhatter/laravel-fullcalendar to work with Laravel 6 currently requires some tinkering. Hopefully its creator will accept one of the pull requests fixing the issue. If not, we will have to look for other solutions. Since laravel-fullcalendar doesn't contain that much code, both fully integrating it as well as maintaining the plugin for ourselves woul both be viable options.

Sheet music library

A library with sheet music as well as a possibility to 'rent' material to users would be nice. Some (basic) code already exists.

We need a name.

Current name suggestions are:

  • Chorganizer
  • core-ganizer
  • Chormeister
  • Elke
  • TeamGuy
  • MisuServer
  • Adminsy
  • Ma'at
  • Teamanizer
  • TeamOrganizer
  • ChoirBoi
  • Choirsuite
  • Choirsweet
  • Orga-Nice-r
  • Cantorg

Comment deletion

Currently, it is not possible to delete a comment, because the empty string is being filtered by our change-attendance logic. Users should be able to delete their own comment.

Improve the readme

Improve the readme with MUCH better descriptions, feature list, guides, instructions, screenshots, etc.

Don't crash without IMAP module

PHP's module IMAP has been deprecated is no longer available on many systems. We shouldn't crash if the module isn't available.

Automatic E-Mail to new users

New users currently get assigned a randomly generated password which has to be transferred to them by external means. Much better would be the option, to automatically send an email to the user that contains as password reset link (together with a greeting and stuff :-) ).

Color bar for event replies

A new concise display element that shows the state of user replies on an event would be extremly helpful. One idea for such an element is a colored bar somewhere in the list element with 5 colors, one for each voice plus a color for non-replies. Maybe, when the event is expanded (as suggested in #12), the bar could have more colors for sub-voices and even striped parts for maybe-replies.

More configuration options for missed rehearsals

How many missed rehearsals are allowed is currently hard-coded; this should be configurable for choir-admins. Additionally, missed rehearsals for which the user has not excused themselves, should be weighted differently. This second weight should be configurable by choir-admins per rehearsal.

Report availibity times

When a user reports their availibity for an event, display two additional field where they can specify the times when they are available (for now, just a start and end time is sufficient, a more granular solution can be approached sometime in the future). Choir-admins should get a new view where these submitted times are not only displayed in detail, but also summarized or even evaluated.

Better logic for all-day events

All-day events are currently determined by $this->getStart()->startOfDay() == $this->getStart() && $this->getEnd()->startOfDay() == $this->getEnd();, which sucks!

Some code already exists that tried to address the issue. However, it was never finished and is not currently compatible. If it is possible to rebase this code, this enhancement should be completable in no time.

Missed rehearsals view

A new view where a user can see which rehearsals they missed (including weight, etc.). Admins should see this view per-user, together with options to change the user's attendance and their missed-state.

Translate-Readiness

Not everything is currently translatable via the files in ressources/lang. To facilitate further translations, translate readiness includes a full translation to english and some possibility to change languages.

Revise what should happen on event changes

Changing an event (for example its location or time) can have significant impact on the users' availibities. Currently, they are just 'transferred' to the new time and place. Display a warning and give an option to remove or change all attendances.

Download contacts

Being able to download a single contact or all contacts would be very helpful.

An automatic sync would also be nice, but the only way that seems plausible for this requires nextcloud integration. See #19.

More views for gigs and rehearsals

The list-attendance views for gigs and rehearsals are different. They should be renamed to and both versions should be available for both types of events. Choir-admins should be able to change users' attendance/availibity.

Example:
Firstly,

  • Gig's list-attendance is named 'list-availibitiy'
  • Rehearsal's list-attendance is named 'inspect-attendance'

Secondly,

  • 'list-availibity' is implemented for gigs and rehearsals
  • 'inspect-attendance' is implemented for gigs and rehearsals

User <-> Semester Management

The relationship between users and semesters should be Many-To-Many.

Users should be able to report if they will be active the next semester during a transition period before semester starts (currently the transition period is 90 days) and for the full duration of the affected semester. They should also be able to specify if they are inactive and if so, how long they plan on doing so.

Choir-admins should be able to view and fully manage any user <-> semester relationship that affect future semesters or the current semester. They should be able to view relationships regarding past semesters.

See also #9

Redesign "home" and date views.

Home and the date list view have issues with readability, especially on mobile devices. There are more problems with admin views such as gig and rehearsal availibitiy views.

Examples:

  • Comments are only visible by hover over a small icon in admin view.
  • Events in date list view should only display less information by default and should be expandable to display everything, including comments, mandatory- and weight-information, etc.

Maybe this new design should build on CSS Grid, as suggested in #11.

Change comments live

When changing or deleting a comment, this will only reach the user when they reload the page. Even better would be to change the view live.

Setup assistent

Currently, setting up on a new server is tedious and unintuitive. Some sort of semi-automatic assistent would be nice.

See also #28 and #27.

User Management

Users should be able to delete themselves permanently or make themselves inactive. Choir-admins should be able to delete users permanently, make users inactive and be able to choose whether a specific inactive user has access to site ressources or not.

Some thought should be spent on what kind of information should be retained (provided the user grants their revocable permission) to be able to display semester information (#10) correctly for past semesters.

Delete users

Currently, deleting users is not possible. For the short term, choir-admins should be able to delete users permanently.

For the long run, more features are needed.

Automatic Tests

Implement automatic tests, for example with GitHub Actions.

This would greatly improve the agility of this project.

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.