Eiropas Jauniešu Parlamenta portāls

Eiropas Jauniešu parlaments ir vienaudžu izglītības programma jauniešiem no visas Eiropas. SIA Mitigate izstrādāja dalībnieku platformu, ko izmanto tā brīvprātīgie.

Ruby on RailsReact JSGraphQLPostgreSQL

Izaicinājums

Nepieciešama jauna platforma

Eiropas Jauniešu parlamentu vada paši jaunieši, un tas ir pārstāvēts 40 Eiropas valstīs. Organizācijas pamatā ir regulāri pasākumi, kas notiek visā Eiropā, un brīvprātīgajiem, kuri tos organizē, bija nepieciešama sava platforma: vieta, kur izveidot pasākumu, pulcēt dalībniekus, atlasīt komandas un pēc pasākuma beigām savākt dalībnieku savstarpējos novērtējumus.

SIA Mitigate ar EYP saista ilgstoša sadarbība - esam palīdzējuši organizēt pasākumus - tāpēc, kad organizācija vērsās pie mums ar programmatūras jautājumu, mēs labprāt iesaistījāmies.

Iepriekšējā dalībnieku platforma bija veidota uz Drupal satura pārvaldības ietvara. Parastai mājaslapai tā būtu saprātīga izvēle, taču EYP procesi - atklātie aicinājumi, pieteikumi, atlases žūrijas un pasākuma lomām piesaistītie novērtējumi - tajā neiekļāvās, un platformas tālākā attīstība bija tehniski ierobežota.

Risinājums

Rezultātā izveidojām pielāgotu platformu uz Ruby on Rails ar React saskarni, GraphQL API un Postgres datubāzi.

Risinājums nodrošina šādas iespējas:

  • Pasākumu un reģistrāciju pārvaldība
  • Atklātu aicinājumu izveide, lai pieteiktos dažādām pasākuma lomām
  • Atlases žūriju organizēšana pieteikumu izvērtēšanai, žūrijai redzot pretendentu atbildes, pasākumu vēsturi un agrākos novērtējumus
  • Komandu veidošana no atlasītajiem pretendentiem
  • Automātiski savstarpējā novērtējuma pieprasījumi pēc pasākuma beigām atbilstoši katra dalībnieka lomai
  • Analītikas iespējas organizācijai.

Rezultāts

Platformu tagad izmanto vairāk nekā 30 000 EYP brīvprātīgo, lai organizētu aptuveni 500 pasākumus gadā.

Jaunā dalībnieku platforma aizstāja Drupal vietni. Lietotāji tika pārcelti uz jauno platformu, un katra brīvprātīgā profilā redzama viņa sesiju vēsture un saņemtie novērtējumi. Platformu EYP vajadzībām uztur tā jumta organizācija Schwarzkopf fonds, un tā aptver reģistrāciju pasākumiem, pieteikumus, atlases žūrijas, novērtējumus un dalībnieku profilus.

Tehniski servera puse ir rakstīta Ruby on Rails, un dati glabājas Postgres - relāciju datubāzē, kas piemērota platformas daudzajiem savstarpēji saistītajiem ierakstiem: dalībniekiem, pasākumiem, pieteikumiem, žūrijām un novērtējumiem. Saskarne ir React lietotne, kas ar serveri sazinās caur GraphQL API, tāpēc katrs ekrāns pieprasa tieši tos datus, kas tam vajadzīgi, un to pašu API vēlāk var izmantot arī citi klienti.

Datu modelis un API ir veidoti tā, lai organizācija nākotnē varētu pievienot jaunas funkcijas, nepārbūvējot kodolu. Palaišanas brīdī bija plānots projektu publicēt kā atvērtā koda projektu, lai ikviens tehnoloģijās zinošs EYP brīvprātīgais varētu īstenot sev vajadzīgās funkcijas.

Tehnoloģijas

Tehnoloģijas, kuras izmantojām Eiropas Jauniešu Parlamenta portāls risinājuma radīšanā:

  • Ruby on Rails

    Servera puse

  • React JS

    Lietotāja saskarne

  • GraphQL

    API

  • PostgreSQL

    Datubāze