Skip to content

Architecture of the Platform

The FOSS United Platform is built using the Frappe framework. In case you're not already aware, applications that use the Frappe framework are built around DocTypes. For example, the FOSSUserProfile, which powers the Profile, is a DocType. The names of a few DocTypes that are fundamental to the Platform can be found in fossunited.doctype_ids.

If you are unfamiliar with Entity relationship diagrams or if you need a refresher, you could refer to the wiki section on the Crow's foot notation, or this explainer from freecodecamp

Entity relationships for a Chapter

erDiagram
  Chapter }|--o{ Profile: "has volunteer"
  Chapter }|--o{ Event : organizes
  Event }|--o{ Sponsor : has
  Event }|--o{ Profile: "organized by"
  Event }|--o{ Attendee : has
  Attendee ||--|| RSVP : has
  Event }|--o{ Proposal : contains
  Proposal }|--|{ Proposer : "submitted by"
  Proposal ||--o{ Review : has
  Review }o--o{ Reviewer : "submitted by"

Entity relationships for a Hackathon

(To be completed)

Entity relationships for a Profile

erDiagram
  User ||..|| Profile: "associated with"
  Profile }o--o{ Chapter : volunteers
  Chapter }|--o{ Event : organises
  Profile }o--o{ Event : attended
  Profile }|--o{ Proposal : submit
  Proposal ||--o| Talk : accepted