Giter VIP home page Giter VIP logo

member-database's People

Contributors

beckstev avatar bixel avatar dependabot[bot] avatar karlschiller avatar kevin2 avatar larsbollmann avatar lena-lin avatar marschmitz avatar maxnoe avatar stefangri avatar the-ludwig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

Forkers

larsbollmann

member-database's Issues

Enable basic auth for api endpoints

Currently it's not possible to get data using commandline utilities like curl or httpie, even requests sessions do not work.

something like curl -u <user> <url>/members should work and would make testing during developement much easier

What do we want to achieve?

Some Ideas of the meeting in Essen and before:

  • Let members change their data (employer, email-address etc.)
  • Easier access for us, add new members, edit, customized mails etc.

missing Datenschutzerklärung

Datenschutzhinweise bei

  • Jeder Veranstaltung (Auf jedem Formular ist genau anzugeben, welche Daten zu welchem Zweck verarbeitet werden)
  • Vereinsanmeldung
  • Dokument mit Datenschutzerklärung

Enable event access via some short link

For memorable, human readable names:

E.g. registration.pep-dortmund.org/events/soak20/registration

This could be implemented by e.g.:

@events.route('/<name: str>/registration')
def registration_by_name(name):
    event = Event.query.filter_by(shortlink=name).first()
    return event_registration(event.id)

No error hint in form

I gave number of guests > max but got not warning what was wrong, just a page reload without any indication.

Registrtation test

  • AG Schneider counts as E4b?
  • email@test is possible, could it be checked for . in domain?
  • if the external place is chosen, maybe there is a place to specify where it was written

The edit form does not return a response

Currently, the gdpr request email points to a edit form that does not return a response, see

if form.validate_on_submit():
p.name = form.name.data
if p.email != form.email.data:
p.email_valid = False
p.email = form.email.data
p.date_of_birth = form.date_of_birth.data
p.membership_pending = form.membership_pending.data
db.session.commit()
flash(_('Ihre Daten wurden erfolgreich aktualisiert.'))
return redirect(url_for('main.edit', token=token))
@main.route('/view_data/<token>')
.

Add a homepage

Homepage should include links to

  • events
  • gdpr request
  • pep main page

Add "request token" button to login page

The login button is relatively dominant in the navigation bar. Registrants could expect this button to provide some login for their registrations as well. So maybe for now we could just add a email-field in the login form to request a main containing links to all active registrations for that email.

SQL vs. NoSQL

A member database sounds quite like a classical use case for SQl.

Please discuss.

Licence

Which license? Is there any PLP (PEP Licence Policy)?

SEPA Mandate

Members should be able to give us a SEPA Mandat

Multiple emails per person

A single Person might use multiple emails.

We should enable:

  • A person to have a primary and multiple secondary emails (via a SecondaryMails table)
  • Merging of persons after confirmation of the secondary mail

Create different User groups

Users should have the right to see every information of the database. Grouping of users with same rights could help in that matter

Modularize vuejs part

So right now an individual vue-app is added for each input field:

document.querySelectorAll('[type="latex"]').forEach(function(item){
vueApps[item.id] = new Vue({
el: '#input_group_' + item.id,
data: {
title: item.value,
},
computed: {
title_html: function(){
return toTex(this.title);
}
}
})
});

This works of course, but at some point it would be nice to modularise this a little bit more.

One could think of input field connections like in the old PARS interface: You select the "Bachelor" degree and the title of the thesis field becomes "Bachelor-thesis" 😎

This is very low priority of course.

Resend email button

The error notification for "You are already participating" should have an option to resend the email

Implement data request

Add the possibility to send a mail or mail with pdf attachment containing all information we have about a member on request. (GDPR data request)

  • Add an endpoint with method post and form data email.

  • Add a template for the email

  • Write the queries that dump all data we have for a Person

`ledger-mode` aka eternal DB entries

I suggest providing a ledger-mode, i.e. if you want to change an entry, you create a copy with all desired modifcations, link it to the "old" entry and then set the old entry to "archive". This way we can easily get a nice log of all changes in the BD / our member's data (names, adresses, payment history, whatever)

👍 or 👎?

Cool name

The member-database needs to have a very cool name so people will love it!

Add Footer

It is especially hard on mobile, to click the submit button of registration forms due to the bottom spacing. Simply adding some whitespace, i.e. a footer might already help.

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.