Feedback Addon for intra.42.fr to get honest feedback from students about evaluation
This project will improve the feedback system at intra.42.fr, providing more detailed and user-specific information that can be used to enhance the user experience and the overall service quality. The current feedback system is “open for all” which means that some students are hesitant to provide honest feedback. Especially in cases of cheating or uncomfort. To tackle this we want to add an easy to use, quick, feedback system only for the student and bocal.
The objective of this project is to design and implement a Chrome Extension that adds “honest” feedback functionality to intra.42.fr. The extension will display an open feedback form after an evaluation, tailored to each user and evaluation.
The feedback form will feature:
- A headline
- Information text about the evaluation (Evaluated person and project)
- X sliders ranging from 0 - 5
- An optional additional feedback text box
The project will also include an OAuth implementation to ensure the user providing feedback is verified and has the required permissions.
The backend server will be responsible for storing all feedback and retrieving data about past evaluations from api.intra.42.fr. The server will provide the following four endpoints:
- GET Missing Feedback - To retrieve any feedback missing from the server.
- GET Feedback Questions - To dynamically pull in the questions for the feedback form in .json format.
- POST Project - To add new project information to the server.
- POST Feedback - To send user feedback to the server.
There will be a production server, a testing server, and a server dedicated to hosting the database.
Deployment of the servers and the database should be handled via GitOps principles, using GitHub Actions for Continuous Integration (CI) and Continuous Deployment (CD). This will allow for consistent, reliable, and automated deployments to both the testing and production environments.
The project will be divided into several primary roles:
- Front-End Developers will design and implement the UI of the Chrome/Firefox Extension, the feedback form, and handle the integration with OAuth.
- Back-End Developers will set up the server, design the database schema, implement the four endpoints, and handle integration with api.intra.42.fr.
- DevOps Engineers will set up the production and testing servers, the database server, and implement the GitHub Actions for CI/CD.
Deadlines and timeframes will need to be defined for key milestones such as the completion of the front-end and back-end development, server setup, testing, and final deployment.