Versions Compared

Key

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

...

Color code:SuggestedAcceptedIn ProgressDoneRejectedOutdated


pipeWould allow observers to register and push and receive notifications. the and stuff that happens during statutory events (agorae, epms): Agenda, Proposals and voting on proposals, members, etc. - Not parts of events module
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
      • Endpoint for attaching new microservices and comunicating with them via secure key
      • "Fault Tolerance": Internal monitoring of the connected microservices and admin notification in case of connection problems.
  • General frontend
    • Render general frontend
    • Render other modules' frontends
      • Using templates and corss-site requests
    Managing microservices connected to OMS
    • Enable and disable microservices
    • Module managementEnable and disable modules
    • 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
    Logging ability for microservices communication as a bug finding capability
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 - N-PIPEJIRA - IssuecastNOTIFYNicoConfluenceAPIReceives 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 - emailN-EMAILEmailer: Most likely will not write something ourselves, should use something existing. Flaviu mainly used NOTIFY


Probably just a wrapper around an existing service like sendgrid


Notifications - pushN-PUSHNOTIFY


Push Notifications

Cron Module

JIRA - issue
Regularily reoccuring tasks
Statutory microserviceSTATUTORYSergey
not there yet
  • Statutory events management
  • Application procedure for
  • statutory events
  • 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.


Roadmap

For a roadmap to get an idea of how far we are and goals we have set check out our JIRA (You need to login to be able to view this)See the Project Plan for this.