Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ahmertsengol/yolai

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

logo

Student and Teacher Support Platform

Last Version License

Slack

Video of the project here

πŸš€ About Project

The Student and Teacher Support Platform is an innovative solution designed to make educational processes more effective, accessible, and holistic in a digital environment. The project provides tools that enable teachers to easily prepare lesson content, while also allowing students to quickly access learning materials, analyze their skills and areas of success or difficulty, and receive mentor support whenever needed. By focusing on the needs of both students and teachers, the platform aims to make educational processes more efficient and interactive.

🌟 Modules

Career Test

This module presents users with a carefully crafted set of 60 questions and performs a detailed analysis using the Gemini API. Based on the analysis results, users are provided with career recommendations and comprehensive explanations of why these careers suit them.

  • Database: PostgreSQL is used to ensure data security and flexible access, supporting the updatable structure of questions.
  • FastAPI: API services are provided using the FastAPI framework for high-performance web application integration.
  • Gemini API: The Gemini API is used for question analysis and career recommendation processes.

Mini Test

This module allows users to create mini-tests from existing PDFs to identify knowledge gaps. Tests are analyzed and optimized into questions via the Gemini API.

  • Database: PostgreSQL is used for managing and storing PDF files.
  • FastAPI: The FastAPI framework is used for fast and reliable integration with the application.
  • Gemini API: Question generation and validation are performed with the Gemini API.

Sad Talker

This module analyzes PDF documents through the Gemini API to determine critical content and creates presentations based on these analyses. Presentations are enriched with suitable images using a Selenium bot, then voiced by ElevenLabs and animated on avatars with Sad Talker, providing users with an integrated presentation experience.

  • Database: PDF data is securely stored and managed with PostgreSQL.
  • FastAPI: API services are provided through the FastAPI framework for high-performance integration.
  • Gemini API: Used for content analysis and presentation creation.
  • ElevenLabs: Important content is voiced with high-quality audio production.
  • Sad Talker: Audio content is visualized on an avatar, bringing presentations to life.
  • Selenium Bot: Supports presentations by adding appropriate visuals to the content.

Heygen

This module analyzes PDF documents using the Gemini API and identifies important content. Presentations are enriched with relevant images using a Selenium bot and voiced by ElevenLabs. Heygen creates interactive content on avatars and can offer Q&A capabilities. Although some features of this system are not actively used due to paid elements, the code is shared.

  • Database: PDF content is securely managed with PostgreSQL.
  • FastAPI: FastAPI is used for performance-oriented API integration.
  • Gemini API: Used for content analysis and presentation creation.
  • ElevenLabs: Provides professional voiceover for audio content.
  • Selenium Bot: Allows for the automatic addition of visual content.

Stability

This module analyzes PDF documents to identify important content and enriches them with images generated by the artificial intelligence model (Stable Diffusion 3.5-Large). Presentations are voiced by ElevenLabs and animated with avatars using Sad Talker. While the high hardware requirements make direct use challenging, the code is provided.

  • Database: PDF content is securely and structurally stored using PostgreSQL.
  • FastAPI: The FastAPI framework is used for fast and effective API integration.
  • Gemini API: Used for content analysis and visual-supported presentation preparation.
  • ElevenLabs: Provides high-quality voiceover for narration.
  • Stable Diffusion: Pre-trained open-source model used for AI-based image generation.

πŸ”‘ WEB

  • The basic structure of the project has been established, and initial configurations are complete.
  • Layers were designed by analyzing the View, Controller, and Layout components.
  • Necessary Entity classes were defined and configured.
  • Entity Core packages were integrated into the project, providing the required dependencies.
  • The theme was successfully integrated into the project and adapted to be compatible with the Turkish language.
  • The Context class was created, and the database connection was successfully established.
  • Relevant references were defined, and DbSet properties were configured in the Context class.
  • Migration processes were completed, and the database configuration was implemented smoothly.
  • The ViewComponent folder was created, necessary classes were added, and it was made functional.
  • Relevant Controller classes were created, and workflows were organized.
  • Performance optimizations were achieved by focusing on ComponentPartial View usage and Await Async structures.

πŸ“Š ASP.NET MVC Project with Multiple API Integrations

This ASP.NET MVC project integrates with four different FastAPI-based APIs. Each API provides various endpoints for specific functions, aiming to enhance the user experience.

Career Advice and Analysis API

  • Purpose: Provides career recommendations by analyzing user responses.
  • Endpoint:
    • /analyze-answers (POST): Accepts user responses in JSON format, analyzes them, and returns appropriate career suggestions.

Test Analysis and Question Generation API

  • Purpose: Analyzes uploaded PDF documents to generate questions and evaluate responses to these questions.
  • Endpoints:
    • /upload-test-pdf (POST): Analyzes a PDF to generate questions.
    • /analyze-answers-per-question (POST): Analyzes each question's response and returns detailed results.

Presentation Preparation and Video Creation API

  • Purpose: Converts a PDF document into a PPTX presentation, then into an MP4 video format.
  • Endpoints:
    • /convert-pdf-to-pptx (POST): Converts a PDF into PPTX format.
    • /convert-pptx-to-mp4 (GET): Converts the generated PPTX file into MP4 video format.

Gemini Specialized Question-Answer API

  • Purpose: Provides answers to educational questions.
  • Endpoint:
    • /analyze-answers (POST): Responds to questions submitted through the application.

πŸ’Ό Project Use Cases

  • Career Advice Page: Provides career recommendations by analyzing the user's responses.
  • Test and Analysis Page: Displays the analysis results of responses given to questions generated from PDFs.
  • Presentation Video Page: Provides course content in video format for the user.
  • Gemini Customized Chat: Responds to educational questions asked by the user.

πŸ› οΈ Technologies and Approaches Used

This project was developed using the ASP.NET Core 8.0 framework and incorporates various technologies commonly used in modern web applications. The project operates on a PostgreSQL database using the Microsoft.EntityFrameworkCore.PostgreSQL 6.0.3 library.

Controller and View Components

The best practices of the MVC architecture have been followed to ensure a clear separation between the control and view layers of the application.

Code First Approach

The database modeling was implemented using the Code First approach, and the database structure was defined in the code.

LINQ and Entity Framework Queries

Powerful and readable queries were created using LINQ for database operations; Entity Framework was utilized in the data access layer to optimize data management processes.

N-Tier Architecture

The project uses an N-Tier architecture, with a layered structure that allows each component of the application to be managed and developed independently:

  • Entity Layer: Represents the core entities of the application.
  • Data Access Layer: Interacts with the database.
  • Business Layer: Contains business rules and logic.
  • Presentation Layer: Manages the user interface.

Layout and View Management

The view management of the application is structured according to modern design principles. A responsive design was adopted to enhance the user experience.

API Sections

The project includes necessary APIs to facilitate application functionality and data access. API configurations can be detailed further if needed.

Important Features

  • _LessonView Component: This component, added to the homepage, displays lessons retrieved from the PostgreSQL database. Within _LessonComponentPartial, users can navigate to topics filtered by _SubjectComponentPartial through the "Topics" button.

  • _SubjectComponentPartial: This component enables filtering among lessons and retrieves data from the PostgreSQL database. It includes two main buttons:

    • Go to Test: This button connects to the Quiz API, providing users with a test analysis.
    • Topic Explanation: Directs the user to the topic explanation page, where they can create real-time presentations by clicking the "Create Presentation" button, integrated with the Presentation API.
  • _MentorsComponentPartial: Created to provide mentor support, this component retrieves mentor information from the PostgreSQL database and includes two key features:

    • Appointment System: Allows students to schedule sessions with mentors.
    • Messaging System: Enables direct communication with mentors.
  • _TeamComponentPartial: The team members component displays information on team members, retrieved from the database.

  • Pre-made Presentations: An active button provides access to pre-made presentations stored in the PostgreSQL database, which can be filtered among different lesson materials.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 52.3%
  • Python 24.9%
  • TypeScript 11.1%
  • C# 8.1%
  • CSS 2.4%
  • JavaScript 1.2%