CSC/ECE 517 Spring 2024 - E2424. Reimplement the Bookmarks Controller: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
(Created page with "==E2424. Reimplement the Bookmarks Controller== This page provides a description of the Expertiza based OSS project. __TOC__ ===About Expertiza=== [http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ Ruby on Rails] framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students...")
 
No edit summary
Line 1: Line 1:
==E2424. Reimplement the Bookmarks Controller==
This page provides a description of the Expertiza based OSS project based on reimplementing the bookmarks controller.  
 
This page provides a description of the Expertiza based OSS project.  




Line 13: Line 11:
===Problem Statement===
===Problem Statement===


===Current Implementation===
The Expertiza application requires the reimplementation of its backend functionality for the BookmarksController. Currently, the system relies on traditional Rails architecture, but the project aims to transition to a more streamlined approach using Rails API. This transition is essential for scalability and flexibility, allowing for separate frontend and backend applications.


===New Implementation===
The BookmarksController serves as the backbone for bookmark management and user interactions within the Expertiza platform. It facilitates actions such as listing bookmarks associated with specific topics, creating new bookmarks, editing existing ones, and deleting bookmarks. Furthermore, it incorporates authorization rules to ensure users possess appropriate roles and permissions for each action.
 
The reimplemented BookmarksController will adhere to the Rails API structure, residing in the controller/api/v1 directory. It will maintain the existing functionality, including methods for retrieving bookmark ratings, calculating average scores for specific and total ratings, and managing strong parameters through private methods.
 
===Implementation===
 
====Current Implementation====
 
====New Implementation====


===Testing===
===Testing===
===Team===
'''Mentor'''
Mohammed Ali Qureshi <mquresh@ncsu.edu>
'''Students'''
Akshat Nitin Savla <asavla@ncsu.edu><br>
Mitanshu Reshamwala <mresham@ncsu.edu><br>
Tanay Gandhi <tgandhi@ncsu.edu><br>


===References===
===References===

Revision as of 23:41, 23 March 2024

This page provides a description of the Expertiza based OSS project based on reimplementing the bookmarks controller.



About Expertiza

Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.

Problem Statement

The Expertiza application requires the reimplementation of its backend functionality for the BookmarksController. Currently, the system relies on traditional Rails architecture, but the project aims to transition to a more streamlined approach using Rails API. This transition is essential for scalability and flexibility, allowing for separate frontend and backend applications.

The BookmarksController serves as the backbone for bookmark management and user interactions within the Expertiza platform. It facilitates actions such as listing bookmarks associated with specific topics, creating new bookmarks, editing existing ones, and deleting bookmarks. Furthermore, it incorporates authorization rules to ensure users possess appropriate roles and permissions for each action.

The reimplemented BookmarksController will adhere to the Rails API structure, residing in the controller/api/v1 directory. It will maintain the existing functionality, including methods for retrieving bookmark ratings, calculating average scores for specific and total ratings, and managing strong parameters through private methods.

Implementation

Current Implementation

New Implementation

Testing

Team

Mentor

Mohammed Ali Qureshi <mquresh@ncsu.edu>

Students

Akshat Nitin Savla <asavla@ncsu.edu>
Mitanshu Reshamwala <mresham@ncsu.edu>
Tanay Gandhi <tgandhi@ncsu.edu>

References