Giter Site home page Giter Site logo

ilmomasiina's People

Contributors

alanpirdil avatar anttiriski avatar dependabot[bot] avatar earlo avatar elias-yj avatar ilarikuoppala avatar joellappalainen avatar jonesus avatar juiceo avatar jviitamo avatar kaakock avatar kaspern avatar samporapeli avatar sarkkuk avatar sonlis avatar villevuor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ilmomasiina's Issues

Make default text changable

It is embedded in src/routes/SingleEvent/SingleEvent.js

If it has to change a lot it would be a good idea to change It to be modifiable from the admin site.

Event description sometimes overflows

image
If style white-space: pre; is removed, the text box is able to contain the text. However, this breaks support for line breaks in the description.

Improve logging

It would be nice to have a log file where you can see what has happened

Add access control to signups

There are a lot of guild officials that need to create events, but not all of them need to see signup details of every event. As a first solution it could be possible to restrict data from any other account but the one that created the event. Access control lists or similar restrictions could be implemented later, if necessary.

Signup can happen with old event details presumably from localStorage

I tried to sign up for an event ASAP after the opening of the registration. I ended up getting the signup form without a position in queue or quota. I filled the form and got a confirmation email for the previous event I had attended. I checked the requests from my browsers dev tools and the signup was sent with the previous event's id and quotaId. This resulted in the server sending out a new confirmation email although the event had already passed. No errors showed up in the frontend and I didn't get signed up to the event I tried to.

To me it seems that the most likely explanation is that the previous signup was still in my localStorage and didn't get updated because getting the position failed in attachPositionAsync. This doesn't remove old information from localStorage and could end up causing issues.

Issue #62 could also be related if there is a partially filled form in localStorage.

Although this seems to be a frontend bug, the backend also shouldn't accept signups or send confirmation messages for old, already passed events. Also the frontend didn't show any errors when there probably were errors in the console. Perhaps a separate issue could be created for those.

Order of quotas and questions cannot be changed

When creating an event, there is a bug where you cannot change the initial order of given quotas and questions. When trying to change the order it comes back to the original after saving changes. Steps to recreate bug:

  1. Create mockup data with npm run create-fake-data
  2. Go to admin panel http://localhost:3000/admin
  3. Open Columbia road - excu and change the order of the two quotas
  4. Save changed data and see that the original order is back

Creating new users fails

Locally, when creating new users from the admin panel, users are not added but an error message is shown.

Suggestion: Add contribution guidelines

Currently the repository has quite many contributors and no contribution guidelines.
I suggest we add a CONTRIBUTING.md to this repository and write down some principles on how to contribute to this project, so contributing is as nice and enjoyable as possible for everyone involved :)

User management

We eventually need an ability to remove admin users, because it is not good that anyone that has ever had the admin rights will have the admin rights till the end of times.

I think we only need creation and removal, editing is not necessary for now.

Feature: delete all signups of an event

Signups can be deleted, but currently only one at a time. It would be convenient to remove all signups of a event.

Currently there's a feature that tries to anonymize signups of old events by deleting name and email information. However, there may be personal data in other questions as well, for example phone number or Telegram username, which can be used to identify the person. Instead of censoring some fields, all signups could be deleted automatically instead. Storing old event information without personal data (signups) can be beneficial, as they can be used as a reference when creating new events.

Add link previews

Add open graph link previews for events. They could include the event picture that would be defined in event settings, or be a generated image like in Github.

Confirmation email whitespace problems in outlook

It seems that outlook drops linebreaks and other whitespace from the user modifiable part of confirmation emails.

At the moment the email is generated with pug and this "Vahvistus sähköpostiin" field is turned into one <p>aragraph. The formatting is preserved with a css attribute white-space: pre-line which is not supported in outlook.

I have tested this with our own fork, but could someone confirm the problem?

Toast says signup successful even after deadline

If a user opens a signup form while the event signup is still open but is unable (or too slow) to fill it before the signup closes, after they press the submit button they get a "success"-toast even though the signup attempt fails as it gets rejected by the API.

Steps to reproduce:

  1. Create an event for which the signup time closes soon
  2. Open the signup form
  3. Wait for the signup deadline to pass
  4. Submit the pending form

Telegram users redirects to twitter

Usually, in the event description, some telegram usernames are given if people have questions. However, if ones press the usernames, it redirects to twitter instead of telegram.

Event can be changed from private signups to public, which reveals user data

Currently it is possible that a user signs up to an event assuming the event signups are private, but the event can then be changed to have public signups. This reveals user data without asking permission from the user.

Could be fixed either by preventing changing private events to public, or storing the publicity setting of each signup separately and asking that from the users beforehand.

Fix multiple choice question without options

It's possible to create a multiple choice question without options by messing around with the question form. Saving this is possible and causes the front end to error silently when it tries to open the registration form.

Users are not notified when quota is increased

It seems like that users are not notified when event's quota is increased. In comparison, when users are accepted from the queue (because someone cancelled their signup), they are sent an email.

Feature: copy events

That is, create a new event and copy contents (questions etc, not signups) from the old event.

Suggestion: use material-ui for theming

Just an idea: it would be pretty neat if this app could be themed easily from a single file. I think the following would be enough to make it look sufficiently personalised:

  • Title font
  • Body font
  • Main theme color (currently green)
  • Secondary color (accent color)

This could be done rather easily by doing the following:

  1. Wrap the app in a material-ui `ThemeProvider, provide it the current theme colors and fonts
  2. Replace all h1-h6, span, p, etc. text components with the material-ui Typography component
  3. Remove the color definitions from styles/_base.scss, see what breaks, and replace the affected styles with one of material-ui:s css-in-js solutions.

See here for material-ui styling reference: https://material-ui.com/styles/advanced/.

Definitely a nice-to-have, but potentially a good first issue and would be one step more towards Ilmomasiina-as-a-service

Implement CI/CD pipeline

One major improvement to Ilmomasiina could be to add CI/CD pipeline to ensure code stability before merging changes into production. One alternative to testing could be Cypress.

Add dietary restrictions question

Adding a unified dietary restriction question type (or setting) would make it easier for event organizers to add inclusive, easy-to-answer and unambiguous question(s) for food restrictions for any event.

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.