PathPilot
The PathPilot is designed to provide students with personalized course recommendations by considering factors such as enrollment data from previous terms, the student's learning profile, their interests, feedback from other students, and their schedule and commitments.
Project Resources
Instructions to Run
Backend:
To run the backend application, follow these steps:
- Make sure you have Docker installed on your system.
- Open your terminal.
- Run the following command to start the backend server:
docker run -p 8000:8000 dhairyarora0208/recommender-backend
Frontend:
To run the frontend application, follow these steps:
- Ensure Docker is installed on your system.
- Open your terminal.
- Execute the following command to launch the frontend server:
docker run -p 8080:8080 dhairyarora0208/recommender-frontend
Once both backend and frontend servers are running, you can interact with the application by accessing localhost:8080
in your web browser.
Project Components
Frontend
- Description: The frontend component provides the user interface for interacting with the Learning Path Recommendation System.
- Framework: Vue.js is used for building the frontend, ensuring a responsive and interactive user experience.
- Styling: Bootstrap is utilized for styling the frontend components, maintaining a clean and modern design.
Backend
- Description: The backend component serves as the core of the Learning Path Recommendation System, handling data processing, API endpoints, and business logic.
- Framework: Django Rest Framework is chosen for the backend development, facilitating the creation of robust RESTful APIs.
- Database: SQLite is employed as the database management system, providing efficient storage and retrieval of data.
Machine Learning Component
- Description: The machine learning component enhances the recommendation system by employing algorithms to analyze student behavior and predict course preferences.
- Technologies: Python libraries such as scikit-learn and TensorFlow are utilized for implementing machine learning models.
- Features: Machine learning algorithms are integrated into the recommendation system to generate more accurate and personalized course suggestions.
Project Structure
Backend
- Dockerfile: Contains instructions for building Docker images.
- project: Main directory containing Django app modules.
- authApi: Handles authentication functionalities like user registration and login.
- bulkUpload: Manages bulk upload functionalities for student and course data.
- courseApi: Implements APIs for managing courses and student feedback.
- mainApp: Contains main settings and URL configurations for the Django project.
- manage.py: Django management script for running administrative tasks.
Frontend
Frontend files and directories are located in a separate directory (not included in this tree) for organization purposes.
Machine Learning
Machine learning-related files and directories are housed in dedicated directories within the project structure.
Other Files
- requirements.txt: Lists all Python dependencies required for the project.
- package-lock.json: Lock file generated by npm for ensuring consistent package installations.
- package.json: Configuration file for npm packages used in the project.