Description of key application's layers - nhash46/Tessagon-e-Portfolio GitHub Wiki

Controllers

User Controller:

  • Describes the application logic concerning user management.
  • Ie. Signup/Login and Editing user model details

Upload Controller:

  • Describes the application logic concerning the uploading of user documents.
  • Ie. Image uploading, PDF uploading

Blog Controller:

  • describes the application logic concerning blog management.
  • Ie. Posting, Editing, Deleting

Comment Controller:

  • describes the application logic concerning comment management.
  • Ie. Posting, Editing, Deleting, Liking

Experience Controller:

  • Describes the application logic concerning user experience objects.
  • Ie. Adding, Editing, Deleting

Education Controller:

  • Describes the application logic concerning user education objects.
  • Ie. Adding, Editing, Deleting

Skill Controller:

  • Describes the application logic concerning user skill objects.
  • Ie. Adding, Editing, Deleting

Admin Controller:

  • Describes the application logic concerning user objects with administrative privileges.
  • Ie. Viewing all users, banning users, unbanning users, etc

Report Controller:

  • Describes the application logic concerning report objects.
  • Ie. Creating new reports, deleting reports, etc

Achievement Controller:

  • Describes the application logic concerning achievement objects.
  • Ie. Adding, Editing, Deleting

Models

User

  • Fundamental model that stores all relevant information of a particular user
  • All other models are referenced as attributes

Blog

  • Model that stores information relevant to a single blog post created a particular user
  • References the Comment model as an attribute

Comment

  • Model that stores information relevant to a single comment made on a blog
  • References the User and Blog model as attributes

Document

  • Model that stores information relevant to a single document uploaded by a user
  • Document types include pdfs, and jpg/png
  • Ie. resume, profile picture, background picture, etc.
  • References the User model as an attribute

Education

  • Model that stores information relevant to a single education artefact belonging to a user
  • References the User model as an attribute

Experience

  • Model that stores information relevant to a single experience artefact belonging to a user
  • References the User model as an attribute

Links

  • Model that stores information relevant to a single link artefact belonging to a user
  • Ie. resume, facebook, twitter, linkedin, etc
  • References the User model as an attribute

Skill

  • Model that stores information relevant to a single skill artefact belonging to a user
  • References the User model as an attribute

Report

  • Model that stores information relevant to a single report artefact created by a user
  • References the Comment model as an attribute

Achievement

  • Model that stores information relevant to a single achievement artefact belonging to a user
  • References the User model as an attribute