nielsranosch / jc_intern Goto Github PK
View Code? Open in Web Editor NEWThis project forked from harryak/jc_intern
License: MIT License
This project forked from harryak/jc_intern
License: MIT License
Review messy code and make everything more uniform.
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.
Add AGPL3 and copyright disclaimers to all affected files.
For many views (users, events, attendances, ...), an export option for several formats would be very helpful.
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.
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).
A bot for Telegram would reduce time spent with end user interaction.
Some feature ideas for such a bot:
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.
Choir-admins should be able to specify a deadline after which it will no longer be possible for users to report their own availibity.
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.
Before #12, a short term improvement should be made to improve comment readability for choir-admins.
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.
Privacy-related code is preventing birthdays from showing up at all in ical-renderings.
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.
A library with sheet music as well as a possibility to 'rent' material to users would be nice. Some (basic) code already exists.
Current name suggestions are:
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 with MUCH better descriptions, feature list, guides, instructions, screenshots, etc.
PHP's module IMAP has been deprecated is no longer available on many systems. We shouldn't crash if the module isn't available.
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 :-) ).
Some sort of tutorial for new users would be very nice.
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.
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.
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.
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.
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.
When accessing the nextcloud-interface, a warning can be displayed. There should be a 'do not show again' checkbox to hide the warning per user.
Voice-specific rehearsals are broken and need to be overhauled.
The mailchecker password is currently set through the .env file. While this is rather secure, it means, that choir-admins cannot change the stored password.
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.
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.
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.
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,
Secondly,
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
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:
Maybe this new design should build on CSS Grid, as suggested in #11.
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.
After #39, increase versatility so that this software is also viable for non-choir music groups.
Make it more proimenent for choir-admins and users if a user has activated privacy-options.
After #40, increase versatility so that this software is viable for non-musical clubs.
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.
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.
Implement automatic tests, for example with GitHub Actions.
This would greatly improve the agility of this project.
Laravel Mix has moved from Gulp to webpack somewhere around laravel 5.4. We should do the same as Gulp 4.0 is no longer supported and we run into the 'primordials not defined' bug.
Maybe this guide can be used as a reference for migrating.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.