CSC/ECE 517 Fall 2017/E1746 Fix account creation over web to work reasonably

From Expertiza_Wiki
Revision as of 21:14, 5 November 2017 by Tfei3 (talk | contribs)
Jump to navigation Jump to search

Introduction to Expertiza

Expertiza[1] is a project developed using Ruby on Rails[2]. It provides features like peer review, team assignments and submission of projects. This can be achieved by submitting code base, URL of hosted code on remote server and Wiki submissions. It is an open source application and the code can be cloned from GitHub[3]. This application provides an efficient way to manage assignments, grades and reviews. This makes the process easier and faster when the class strength is large.

Introduction

Purpose

  • If someone does not have Expertiza account and want to explore the system, s/he can request an account in login page.
  • After filling out basic information and submit the request, Expertiza admin will receive an email and make a decision whether accept or decline the request.
  • The new user should be able to add a new institution. Modifying the current view to allow new user to add a new institution if s/he cannot find it from dropdown.
  • The new institution should be able to saved into institutions table as a new record. And the newly created request will be stored in requested_users table and make sure to save correct institution_id.
  • The new user should be able write a brief introduction (a textarea). The data should also be saved to requested_users table. Write a migration file to add a new column (type: text) to requested_users table.
  • In models/requested_user.rb, there are some validations, such as validate email address.There should be flash messages when the validation fails.
  • There should be an option added in “Administration > Show…” menu to access a list of pending requests.
  • Make “Email Address” column in /users/list_pending_requested page clickable. So that super-admin or admin could converse with requesters by clicking email addresses directly.
  • After super-admin or admin approves the request, make sure the record does not disappear on the page. And there should be an email send to email address offered by requester. Make sure this feature works, otherwise fix it.

Problem Definition

Requirements

  • Improve the 'new user request image'

After clicking “REQUEST ACCOUNT” button, Expertiza will redirect to a page to allow submitting new user request. We need to improve the page:

 The new user should be able to add a new institution. Modifying the current view to allow new user to add a new institution if s/he cannot find it from dropdown.

Database Design

Use Cases

Design Pattern

MVC

The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).

TDD

DIY

We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.

Mockup Screen