1 of 15

Project: PluMA 2.0 Administrator Interface

Mentors: Trevor Cickovski, Joseph Quinn

Instructor: Dr. Masoud Sadjadi

Members: Ihosvani Noa, Brian Gonzalez, Leonardo Rodriguez, Emmanuel Egbukuyomi, Javier Fernandez, Max Karey, Joshua Alexander, Lewis Mesa, Isaac Scott.

Date: 07/29/2022

FLORIDA INTERNATIONAL UNIVERSITY

2 of 15

What is PluMA?

  • PluMA or Plugin-Based Microbiome Analysis, facilitates the construction of pipelines

  • PluMA dynamically selects plugins to create these pipelines

  • It is used to inspect Microbiomes and enable the re-usability of other programs already created by other developers.

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

3 of 15

Problem

  • Authentication
    • Login not properly implemented
    • No Registration page
    • Admin Role authorization was non-existent
  • Admin Portal
    • Admins could not view, modify or delete registered users
    • Admins could not update or delete categories or plugins
    • Regular users couldn’t submit their plugin for verification

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

4 of 15

Implementation

COLLEGE OF ENGINEERING AND COMPUTING

5 of 15

System Design

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

6 of 15

Registration Page

  • We first started with the registration page
  • Uses REST API and connects to MongoDB using Prisma
  • Data verification

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

7 of 15

Adds the user and registration code to the database

Sends the user an email verification with a URI containing the registration code for verification

Once the user clicks on the URI, It sends a request to the server

Updates the database to toggle that the user is verified and removes the registration code

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

8 of 15

Login Page

  • Our mentor Joseph Quinn added the login page functional.
  • Our authentication and authorization is done by JWT
  • We also added a logout button so users can log out

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

9 of 15

User management(Admin Portal)

  • Admin portal where the admin would be able to manage users with different functionalities such as, changing the role of a user, deleting a user, activating/deactivating, and forcing a user to reset his password.

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

10 of 15

Force password page

  • In this page an user would be able to reset their password

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

11 of 15

Force password reset

Create and store password reset code

Email to the user with password reset code in an url

Example: {API_HOST}/reset-password?token=ase@&32#A324a$A4248aA

Opens the link in the email and goes to the reset password page

Sends the token and the new password

Authenticates the user with the token and it changes the password only if is not the same as the old one

Reset Password Diagram

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

12 of 15

User account, adding a plugin

  • We added a user account page with a button to add a plugin. This plugin would be unverified and would need approval of an admin, this functionality needs to added in the future

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

13 of 15

Admin Plugin Management

  • The admin plugin management page was worked on last semester but they couldn’t finish two functionalities updating and deleting a plugin. We were able to add both of those functionality
  • Adding a plugin and category was not working because of a minor issue of connection with the backend but I was able to fix it.

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

14 of 15

Next Steps

  • The current implementation of the login feature does not check for the password of a user
  • Proper unit testing was not completed for all of the features implemented
  • Currently, admins are not able to verify or un-verify plugins
  • In the plugin management page, a button needs to be added to be able to verify an unverified plugin, so admin can verify plugins from the webpage

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

15 of 15

Thank you for listening!

Q & A Section

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY