Skip to content

mounseflit/DataVerse

Repository files navigation

Academic Resource Recommendation System

Welcome to the "Open Source and Dataverse" Hackathon!

This document provides an overview of the Academic Resource Recommendation System project. It details the objectives, features, and implementation phases for the system, as well as how participants can contribute to its development.


📖 Project Overview

In schools and universities, it is often challenging to recommend academic resources due to the lack of alignment between department courses, required skills, gained skills, and professors' expertise. This project aims to address this issue by developing an innovative web application powered by Machine Learning to provide personalized academic resource recommendations.

Key Objectives:

  • Build a cluster-based recommendation system using Machine Learning.
  • Develop advanced resource management and statistical analysis features to enhance decision-making for administrators.
  • Ensure optimal usability and security within a web application framework.

🎯 Main Features

  1. Machine Learning Recommendation System

    • Develop a clustering model to recommend academic resources based on student needs.
    • Evaluate models using performance metrics like Silhouette Score, Calinski-Harabasz Index, and Davies-Bouldin Index.
  2. Backend Functionality

    • Implement RESTful APIs for CRUD operations on courses and professors.
    • Enable Machine Learning predictions via API endpoints.
    • Provide statistical insights through dynamic visualizations.
  3. Frontend Interface

    • Admin dashboard for resource management and statistical visualization.
    • Professor dashboard for course-related notifications and updates.
    • Authentication and secure user management.

🛠️ Project Structure

1. Machine Learning (Cluster-Based Recommendation System)

  • Data Preparation:

    • Clean and preprocess data for consistency and usability.
    • Encode categorical variables and engineer features for optimal performance.
  • Modeling:

    • Train clustering algorithms and evaluate using Silhouette Score, Calinski-Harabasz Index, and Davies-Bouldin Index.
    • Export the trained model in .pkl or .h5 format for deployment.
  • Deployment:

    • Integrate the model into the backend via RESTful APIs for real-time predictions.

2. Backend Development

  • API Endpoints:

    • CRUD operations for managing courses and professors.
    • Predictions for course details based on input data.
  • Statistical Analysis:

    • Visualizations for metrics like course completion rates, required vs. gained skills, and professor workloads.
  • Security:

    • Implement token-based authentication and password encryption using bcrypt.
    • Notification service for real-time updates to professors.

3. Frontend Development

  • User Interfaces:

    • Home Page: Introduction to the platform’s objectives.
    • Admin Dashboard: Statistics visualization, resource management, and testing the recommendation system.
    • Professor Dashboard: Notifications and assigned course details.
  • Authentication:

    • Secure login page for admins and professors.

📅 Hackathon Schedule

Phase Start Time Review Time
Machine Learning & Database Setup 11:00 AM, 25/11 10:00 PM, 25/11
Backend Development 11:00 PM, 25/11 9:00 AM, 26/11
Frontend Development 9:00 AM, 26/11 4:00 PM, 26/11
Documentation & Presentation 4:30 PM, 26/11

📌 Requirements

Target Participants

  • Students, professionals, and enthusiasts in web development and data science.

Required Skills

  • Full-stack web development.
  • Artificial Intelligence modeling.
  • Database management.

🌟 Project Added Value

  • Personalized recommendations improve students' learning experiences.
  • Optimized resource allocation reduces waste.
  • Statistical insights enhance decision-making for administrators.
  • Improved alignment of required and gained skills for academic success.

🚀 Getting Started

1. Prerequisites

  • Install Python 3.9 or higher.
  • Install required packages: pandas, numpy, scikit-learn, flask, bcrypt, etc.

2. Setting Up the Environment

  • Clone the repository:
    git clone <repository_url>
    cd academic-resource-recommendation-system
  • Install dependencies:
    pip install -r requirements.txt

3. Running the Application

  • Backend:
    python app.py
  • Frontend:
    Open index.html in a browser or use a framework like React/Vue.js for dynamic rendering.

👨‍💻 Contribution Guidelines

  • Fork the repository and create feature branches for contributions.
  • Submit a pull request with detailed descriptions of changes.
  • Adhere to coding standards and comment your code thoroughly.

🏆 Judging Criteria

  1. Machine Learning Model: Accuracy, evaluation metrics, and innovation.
  2. Backend: API completeness, efficiency, and security.
  3. Frontend: Usability, aesthetics, and responsiveness.
  4. Documentation: Clarity and comprehensiveness.

📬 Contact Information

For any questions or clarifications, feel free to reach out to the event organizers. Let’s innovate and create something impactful together!


Happy Coding! 🎉