Home - UniMOOC/AAClassroom GitHub Wiki

Welcome to the AAClassroom wiki!

Here are some of our custom modifications:

All of our modules follow the same structure:

  • um_[name_of_the_module]/

  • um_[name_of_the_module].py

    This is the entry point of the module. All the initialization and the registering of the module happens here. All the URLs of this module are define here too.

  • handlers.py

    All the handlers of the module are defined here. Only data transformation for the views (and vice-versa) NO BUSINESS LOGIC.

  • model.py

    Here we can define the Database backed models as well as their DTOs (the models shouldn't be used outside this file) and the DAOs (You shouldn't query the DB outside this file).

  • service.py

    Here is were we place all the business logic, usually inside a class that holds all the methods for one given action. Anything you might need from a module should be accessible from it's service.

  • exceptions.py

    Declaration of all the exceptions this module might throw.

  • utils.py

    Helper classes for the module or other modules to be used.

  • config.yaml

    All the static configuration of the module goes here. API keys, external URL endpoints, messages for the user, ... everything that's not code.

Sometimes we will have other files if the situations requires it.