logo

As part of my work at CGI, I participated in the creation of a web application to allow graduate students to apply for master or doctorate.

Version 2 covers the entire process:

  • Allow administrators to create forms to be completed by applicants depending on the program.
  • Allow applicants to create their profile and submit applications.
  • Allow people to support the candidacy of the applicant by uploading a file.
  • Enable internal and external reviewers at McGill to search and visualize the applications according to their permissions.
  • Allow McGill’s administrators to manage permissions.

Responsibilities:

  • Occasionally:
    • Create files for the installation of the database, configuration and deployment of the package.
    • Deploy the application to the test environment.
    • Guide and answer questions from testers.

Specifics:

  • Grails Application.
  • Create and access web services with CXF and Groovy wslite.
  • Create daily maintenance jobs started by a call to a web service.
  • Coding integrations points:
    • With web services.
    • With stored procedures in the Oracle database.
    • By creating views in the Oracle database.
    • Create stubs to use in the development and test environments.
    • With CAS via SAML to retrieve the logged-in user attributes.
  • Generate PDF with Flying Saucer
  • Create frontend pages with ZKUI
    • Manage email templates and PDF documents containing variables.
    • Management rules for automatic approval of an application.
  • Create SQL scripts to migrate the structure and data from version 1 to version 2 of the application.
  • Create a filter to verify that the back office users have the required permission to perform certain tasks. Each controller and action can select its permission with an annotation.
Technologies: , , , , , , , , , ,

As part of my work at CGI, I participated in the creation of a web application to allow external users to McGill to create accounts to access multiple McGill`s systems.

McGill needed a system that can connect to multiple web applications with a local account, LDAP, OpenID, and others. That is why they chose to use CAS which allows using many different accounts services.

Responsibilities:

  • Manage and follow tasks for the team.
  • Create files for the installation of the database, configuration and the package to deploy.
  • Deploying the application to the test environment.
  • Guide and answer questions from testers.
Specifics:
  • Login system
    • Customizing the CAS software.
    • Integration of design in HTML and CSS.
    • Create a basic configuration to allow users to connect to a local database and internal users at McGill.
  • User management system in the local database
    • Grails application.
    • Integration of design in HTML and CSS.
    • Secure access to the application using Spring security.
    • Administration section
      • View users and enable / disable them.
      • Make a search in events (audit).
    • Create account section
      • Registration.
      • Forgot password mechanism.
    • My account section
      • Edit our name, email and password.
  • Create daily maintenance jobs activated by a web service call.
  • Allow to login with different Spring Security “providers” depending on the accessed page.
    • According to the page, LDAP or CAS is used.
    • The login pages are different depending on the case.
Technologies: , , , , , , , , , , , ,