CSC/ECE 517 Fall 2023 - E2387. Reimplement Teams backend (Phase 2): Difference between revisions
No edit summary |
No edit summary |
||
Line 69: | Line 69: | ||
The development process will follow Test Driven Development. The tests for the model and the controller will be written in a comprehensive way. | The development process will follow Test Driven Development. The tests for the model and the controller will be written in a comprehensive way. | ||
Github PR Link | |||
[https://github.com/expertiza/reimplementation-back-end/pull/61] | |||
==Team== | ==Team== |
Revision as of 03:06, 16 November 2023
Overview of Expertiza
Expertiza is a learning management system that is developed with Ruby on Rails and is accessible as open source software. It can create assignments, tests, assignment teams, and courses, among a wide range of other features and functions. It also has a thorough system for giving other teams and groups of teammates peer reviews and feedback. The files that are largely addressed in this project are the frontend React Components of User, Institution and Roles. A fully functional UI for these components will be developed using React for this project.
Technologies To Be Used for the Design
1. Ruby on Rails
2. Rspec (for Testing)
3. Swagger UI
Changes to be Made
Currently the Teams schema is not properly implemented and we have to add more attributes.
Following attributes would be added to the teams table -
1. Name of the Team (Unique)
2. Team ID (Unique)
We will create a new controller (teams_controller.rb) in which we would be adding the following methods.
1. create
This will create a new team.
2. index
This will list all the teams.
3. update
This will update the team's name.
4. destroy
This will delete the team.
Operations To Be Added
1. Create New Team
User should be able to create a new Team and add User ID to it by opening a new popup when clicked on Create Team button.
2. Edit Teams
Users should be able to edit Team Name by opening a new Popup when Clicked on Edit Team button.
3. Delete Team
Users should be able to Delete Teams.
Validations
Only Admins should be able to access this page.
1. Team ID's should be unique.
2. If a team member is already added to another team, it should give appropriate error.
ER Diagram
Test Plan
We will utilize RSpec as the testing framework for our system. We will also use factoryBot along with Faker to create model objects for testing.
The development process will follow Test Driven Development. The tests for the model and the controller will be written in a comprehensive way.
Github PR Link
Team
Mentor
- Kartiki Bhandakkar <kbhanda3@ncsu.edu>
Members
- Raghav Narula <rnarula2@ncsu.edu>
- Mihir Nikam <mvnikam@ncsu.edu>
- Ebani Gogia <egogia@ncsu.edu>