- Introduction
- Features
- Technology Stack
- System Architecture
- Installation
- Usage
- API Documentation
- Screenshots
- Future Enhancements
- Contributing
- Contact
The Response Insight Analysis System (RIAS) is an advanced platform designed to enhance faculty-student interactions through data-driven feedback mechanisms. It empowers students to provide detailed feedback on lectures, instructors, and the overall educational environment while offering administrators and faculty members actionable insights into teaching performance, student engagement, and academic improvement strategies.
The platform includes secure, role-based dashboards for students, faculty, and administrators to manage and analyze feedback, generate reports, and track progress in a user-friendly interface.
- Role-Based Secure Login: Students can securely log in and access their personalized dashboard.
- Feedback Submission: Students submit daily feedback on classes, teachers, and teaching methods. Absent students are restricted from submitting feedback.
- Timetable Integration: Students can view their pre-loaded class schedules, including faculty and subject details.
- Reward System: Points are awarded for daily feedback submissions. These points can be redeemed for academic credits.
- Monthly Surveys: Participate in surveys about changes in teaching methods and campus environment.
-
Feedback Review: Faculty members can review detailed feedback submitted by students, with options to filter the feedback based on time periods such as daily, weekly, or monthly. This feature allows faculty to gain insights into student perceptions and experiences over various timescales.
-
Performance Reports: Faculty can generate and export performance reports, which provide detailed analyses of their teaching effectiveness and areas needing improvement. These reports help faculty members to understand their performance and identify opportunities for professional development.
-
Comparative Analysis: Faculty members can compare their individual feedback scores with class averages. This comparative analysis helps faculty to understand their performance relative to other instructors and to adjust their teaching methods accordingly.
-
Faculty Mapping Subject and Faculty to Students: Faculty can manually map subjects and faculty assignments to students, ensuring accurate tracking of who is teaching which classes. This mapping can also be done in bulk via CSV file uploads, streamlining the process of updating student records.
-
Faculty Update and Edit Mapping: Faculty can update and edit the mapping of subjects and assignments as needed. This feature provides flexibility to make adjustments to the mapping in response to changes in class schedules or teaching assignments.
-
Faculty Approve Students Based on Various Criteria: Faculty have the capability to approve student-related activities based on specific criteria. This may include verifying student participation or performance metrics as part of the feedback or grading process.
-
Administrative Dashboard: Admins can access and manage all student and faculty feedback through a comprehensive dashboard, which includes various metrics and navigation tools. This interface allows admins to efficiently oversee and respond to feedback submissions and performance data.
-
Anti-Ragging System: A dedicated feature for reporting and managing anti-ragging issues is available. This system allows students to report incidents directly, enabling admins to address and resolve these concerns effectively.
-
Data Analytics: Admins receive AI-powered insights and predictive analysis reports that help in evaluating faculty performance and tracking student engagement trends. This includes various types of analyses:
- Department or Branch Analysis: Analyze feedback and performance metrics across different departments or branches.
- Same Subject Analysis: Compare feedback for the same subject taught by different faculty members.
- Same Faculty, Different Subjects Feedback Analysis: Review feedback from the same faculty member across different subjects to assess teaching effectiveness.
- Feedback Statistics: Track overall feedback metrics, such as submission rates and satisfaction scores.
-
Detailed Reporting: Admins can generate and export detailed reports that include charts and tables on faculty performance, student feedback, and overall trends. This functionality supports in-depth analysis and presentation of feedback data.
-
Register Users By CSV File & RIAS Sidebar: Admins can bulk register users through CSV file uploads and manage various administrative functions via the RIAS sidebar, which streamlines access to key tools and features.
Frontend:
- React.js (for component-based UI development)
- HTML5/CSS3, Bootstrap (for responsive design)
- Chart.js and D3.js (for data visualization)
Backend:
- Node.js (runtime environment)
- Express.js (for API routing)
- JWT (for secure authentication)
- MongoDB (NoSQL database for storing feedback, user data, etc.)
Data Science & Analytics:
- Python (for machine learning, data processing)
- scikit-learn, pandas, NumPy (for predictive analytics)
Version Control:
- Git and GitHub (for version control and collaboration)
The RIAS system is built using the MERN stack (MongoDB, Express.js, React.js, Node.js). The system utilizes role-based access control (RBAC) for managing permissions between student, faculty, and admin roles. Below is an overview of the architecture:
- Frontend: Built with React.js, offering a responsive and dynamic user interface for students, faculty, and admins.
- Backend: Node.js + Express.js handles API requests, authentication, and business logic.
- Database: MongoDB stores user data, feedback submissions, schedules, and reports.
- Machine Learning: Python-based predictive models analyze feedback data for trends, insights, and reports.
Follow these steps to set up the project locally.
- Node.js: Install from Node.js official site.
- MongoDB: Install from MongoDB official site.
- Python: Required for running machine learning scripts.
- Clone the backend repository:
git clone https://github.com/Aditya-Bhagat03/RIAS.git
- Navigate to the backend directory:
cd rias-backend
- Install required dependencies:
npm install
- Set up environment variables in a
.env
file (example below):MONGO_URI=mongodb://localhost:27017/rias-db JWT_SECRET=your-jwt-secret PORT=5000
- Start the backend server:
npm run dev
- Clone the frontend repository:
git clone https://github.com/Aditya-Bhagat03/RIAS.git
- Navigate to the frontend directory:
cd rias-frontend
- Install dependencies:
npm install
- Start the React app:
npm start
- Students can log in and submit feedback.
- Faculty can log in and review feedback reports.
- Admins can manage user roles, view detailed insights, and access the anti-ragging feature.
Here is a brief overview of the API endpoints:
-
Authentication
POST /api/auth/register
: Register a new user (admin, student, faculty).POST /api/auth/login
: Log in and obtain a JWT token.
-
Feedback
GET /api/feedback/student/:id
: Fetch feedback for a specific student.POST /api/feedback
: Submit feedback for a session.
-
Admin
GET /api/admin/reports
: Get detailed performance and feedback reports.
For full API documentation, visit API Docs.
- Google Drive PDF Folder & PDF Download: Access and manage PDF documents related to reports and feedback statistics through the dedicated Google Drive folder. This folder contains all PDFs generated by RIAS, with the capability to download them for offline review and record-keeping.
- Mobile App Development: Extend support for iOS and Android platforms.
- AI-Enhanced Feedback Analysis: Leverage natural language processing (NLP) to derive insights from student comments.
- Multilingual Support: Add support for additional languages to cater to diverse student populations.
- Gamified Learning Experience: Implement a gamified rewards system to increase student engagement.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make to RIAS are greatly appreciated!
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
Aditya Bhagat
- LinkedIn: Aditya Bhagat
- Portfolio: Aditya Bhagat
- Email: adityabhagat525@gmail.com
Once both the backend and frontend are running, open your browser and navigate to: http://localhost:3000