Open aditbiswas1 opened 10 years ago
might be a weird module to write immediately, we might wanna just make a seperate thing for IE recruitments and deprecate that later after recruitments while we develop this. also forgot to add.. we can write some django signals, link it up with parts of this to send automated emails, whatsapp messages from the app whenever the ie-members update who got selected for next rounds or to inform everyone that a workshop is taking place etc.
This looks good. A question number field is also required in the event_round_question to know the order the questions need to be displayed. And how can you send automated whatsapp messages? That'll be super cool.
oh ya, forgot that questions have to be ordered. for whatsapp i know there is a library calle yowsup which lets you build your own apps to send messages via whatsapp, we'll essentially just make the django server a whatsapp client.
we could make a generic module for handling management of club events such as workshops, competitions, registrations for new recruitment. here's my first idea on how to model this, we could ideally make a Domain specific language for this...
events: name: overview: organizers: ladning_page_content: text field... tinyMCE content registrations_open : tick_box
event_round: event: one to many foreign key stage: eg, round 1, round 2, need a better variable name description: (optional) collaborators: select member from the event organizers subset internal_round : boolean, no form to be generated if internal
event_round_questions: event: foreign key <- event stage: foreign key <- event_round question: format: textfield, multiple choice etc.
registration:
basic details of registration
registration_answers: registration: foreign key from registration event_round_question: foreign key from event_round_questions answer:
event view page will be of following format
event_registration_view should be
event_round_questions
event.name event_round.stage
event_round_registration_anwers form link to next form for round_questions per round in event_rounds or end of event
need to think of admin side for managing this, we could also alternatively make a realtime collaboration application for managing this, using angularjs n websockets or any other ideas.