Skip to content

Architecture

ServiceResponsibilities & entitiesEdges
cc-api
  • Responsibilities
    • Miscellaneous
  • Entities
    • Miscellaneous
N/A
cc-editor-api
  • Responsibilities
    • All REST API requests from Editor. (Not project related)
  • Entities
    • Files
    • Revisions
    • Folders
    • Projects
    • Users
  • cc-compiler-master
  • cc-compiler-slave
  • redis
cc-share
  • Responsibilities
    • Run ShareDB
    • Create new revision history
    • Update revision timestamp
  • Entities
    • Revisions
    • ShareDB
    • O ShareDB
  • redis
cc-html-server
  • Responsibilities
    • Routing for all HTML, CSS, JS, projects
    • Proxies Python (Flask) connections
  • Entities
    • Projects
    • Files
    • ShareDB
    • O ShareDB
  • cc-compiler-slave
  • redis
cc-compiler-master
  • Responsibilities
    • All Socket.IO events from Editor
    • Manages and balances running slaves between servants
    • Sends events between the User and Slaves
  • Entities
    • Projects
    • Files
    • Revisions
    • Servants
  • cc-compiler-servant
  • cc-compiler-slave
  • redis
cc-compiler-servant
  • Responsibilities
    • Starts slaves and update redis with slave details
    • Poll slaves to health check and notify master
  • Entities
    • Servants
  • cc-compiler-master
  • cc-compiler-slave
  • redis
cc-compiler-slave
  • Responsibilities
    • Run untrusted code and die
  • cc-compiler-master
cc-auth
  • Responsibilities
    • Login
    • Sign up
    • Logout
    • Reset password
    • Verify token and email
    • Delete account
  • Entities
    • Folders
    • Projects
    • Users
N/A
cc-projects-service
  • Responsibilities
    • CRUD projects/folders
  • Entities
    • Folders
    • Projects
    • Files
    • ShareDB
    • O ShareDB
  • redis
cc-api-gateway
  • Responsibilities
    • Proxy requests
Everything