Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Microservice nameCodeResponsibleDiscussAPIDescription
Micro service example (and node version)EXAMPLE
Confluence - Development

An example module.

Responsibilities and functionalities:

  • Make the development of a new micro service easier.
    • Core registration example
    • Frontend display example
    • Retrieve core data example
CoreCOREDerk, NicoConfluenceAPI

The core module providing the very basics required for all other modules.

Responsibilities and functionalities:

  • General
      • Providing Single Sign-On (SSO) for all (new and existing) AEGEE online services using oAuth
  • General frontend
    • Render general frontend
    • Will eventually be moved away from core - 
      Jira Legacy
      serverJIRA (oms-project.atlassian.net)
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdedf3f91b-210c-3cfc-933c-f8d8084c5f2c
      keyCORE-109
  • Member management
    • Differentiate between member type: member, suspended, applicant
      • Offer an (member)application method
    • List, add, edit, suspend and group members
    • List, add, edit and delete groups (bodies)
    • Define permission roles
    • Assign roles to members and groups
Core-ElixirCORENico
API

A rewrite of the php core in elixir by Nico. Designed as a drop-in replacement for the core because core-development was stalled a bit due to personal reasons. 

Responsibilities and functionalities

  • Managing permissions and assigning them to members based on circle memberships and request context.
  • Grouping members by bodies and circles

Read more

Loginservice
Nico
API

Login and signup-functionality, separated from the core because Nico used it for another project.

Responsibilities and functionalities:

  • Providing authenticated users with jwt tokens for authentication in the rest of the system
  • Managing the sign-up workflow
Events (and frontend)EVENTSNico, SergeyConfluenceAPI

All event-related stuff. Creating, modifying, displaying and deleting events, approving events, managing events' organizers

Responsibilities and functionalities:

  • Managing events
    • Creating, listing, updating and deleting events
  • Managing lifecycles and events workflow
    • Creating, listing, updating and deleting lifecycles
    • Events lifecycle workflow (assigning a default event status, changing the event status)
  • Managing organizers
    • Adding and removing organizing persons and antennae
Applications (and frontend)
NicoJIRA - Issue

Everything related to the events' applications for the generic events (not statutory and not SU). Applying for the events, managing applications, approving participants.

Responsibilities and functionalities:

  • Managing the generic application process
    • Events application process
    • Participation listing
    • Participants selection by the organizers
    • Participants' evaluation for the event
    • Application comments by the organizers
Service registryREGISTRYNicoJIRAAPI

Helps with service discovery based on categories or servicenames and provides an access token registry.

Responsibilities and functionalities:

  • Provide a JSON interface to the current service setup
    • Get services by name or category
  • Register auth token for internal communication
    • Register and verify auth tokens
TraefikTRAEFIKNicoConfluence

Open-source reverse proxy for load balancing and health checking

  • Reverse proxy - Correctly route requests to the microservice that it is directed to
  • Health checks - Internal monitoring of the connected microservices and admin notification in case of connection problems.
LoggingLOG


Logging microservice for the entire system
AlastairFOODNicoConfluence

Food planning module - A private project from Nico

The Central Frontend
NicoConfluence
Joining the frontend pages of all services into one and serving it
LDAP support

JIRA - Issue

Notifications - castNOTIFYNicoConfluenceAPIReceives notification requests from services and casts them to notification providers
Notifications - onscreenNOTIFYNico
APIStores onscreen notifications which the user can fetch with a simple api call whenever he wants, no push feature
Notifications - emailNOTIFY


Probably just a wrapper around an existing service like sendgrid


Notifications - pushNOTIFY


Push Notifications

Cron Module

JIRA - issue
Regularily reoccuring tasks
Statutory microserviceSTATUTORYSergey
not there yet
  • Statutory events management
  • Application procedure for
the
  • statutory events
and stuff that happens during statutory events (agorae, epms): Agenda, Proposals and voting on proposals, members, etc. - Not parts of events module
  • Voting for statutory events
  • Proposals
  • Motions
  • Candidatures
  • Plenary attendance
Voting



Candidatures, Evaluation (like impact measurement for events), also Recursion (-;
Reporting



Generate anonymous reports with user and member statistics.
Survey

Requirements
Add survey/questionnaire support, integrating it within OMS
Finance



Fee management. Event budgeting. Parts of this are inside the core module at the moment, will be moved out of oms-core for this.
Storage



A possibility to backup data to external systems easily.
Travel



for example: AEGEE-couchsurfing
Gamification



E.g. create badges like "Visited 5 events" or "Attended 3 Agorae in a row"
Comments



Make commenting everything possible. Reuse of disqus might be the way to do it.
SU Webfrontend



Summer University Website: Will be a little different from the usual events frontend, maintained and developed by SUCT.

...