Skip to content

🏛️🎓 A web application for students of the MSU Faculty of Physics

License

Notifications You must be signed in to change notification settings

id-andyyy/IdeaCodeRelease_Web

 
 

Repository files navigation

Art

GitHub Created At Lines Of Code Top Language

Твой ФФ 🏛

A web service for interaction between students of the MSU Faculty of Physics and university services 📚. Created as part of the hackathon Идея. Код. Релиз 👨‍💻.

Description

The solution combines all the necessary services for students and teachers, and additional features simplify the learning and exam process 🎓.

Functionality:

  • 🔐 User Authentication and Authorization
    • Registration, login, password reset
    • Different roles (student, teacher, administrator)
  • 🗄 Knowledge Base with OCR and AI Processing
    • File uploads (PDF, images, documents)
    • Automatic text recognition (OCR)
    • AI processing, text structuring, and summary creation
    • Storage and organization of educational materials
  • 💬 Forum
    • Create and view posts
    • Categorize posts by topics
    • Comments and likes
  • 🎉 Event Calendar
    • Event creation by administrators (ability to limit the number of participants)
    • Event registration
  • 📰 News
    • Administrators and teachers can add announcements
    • Interactive story format
  • 🗓 Class Schedule
    • View schedules for groups and teachers
    • Filtering and search
    • This service is also available in Telegram Bot Физик 🤖 (separate repository)
  • 🍽 Cafeteria Menu
    • View menu by day
    • Information about dishes (composition, proteins, fats, carbohydrates, energy value)
  • 🕒 Room Booking
    • Students can book an available room for a specific time for their needs
  • ⭐ Teacher Reviews
    • Students share their impressions of teachers
  • 🗺 Campus Map
  • 🤓 AI Assistant
    • Interactive assistant Physicist for answering questions
    • Help with site navigation
    • Contextual help - scanning the open page and assisting with any requests (e.g., analyzing teacher reviews to find the most popular one)
    • Psychologist 😌 function - AI assistance in difficult situations or the ability to make an appointment with a professional

Other services, such as the Scholarship Calculator 🧮 or Car Pass 🚗 were added as links to Yandex.Forms due to lack of time for implementation.

Screenshots

Main Page

Main Page

News

News

Knowledge Base

Knowledge Base

Room Booking

Room Booking

Psychologist Services

Psychologist Services

*only the main pages are presented due to the large number of services

Technologies and Tools

Python FastAPI NumPy Pandas Postgres Nginx HTML5 CSS3 JavaScript TypeScript SvelteKit Vite Docker Figma Git Deepseek Telegram

The project was written in three days as part of the hackathon Идея. Код. Релиз 👨‍💻

Telegram bot Физик 🤖 is located in a separate repository.

Getting Started

Backend Setup

Typing SVG

git clone https://github.com/id-andyyy/IdeaCodeRelease_Web.git
cd IdeaCodeRelease_Web/Backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python migrations/add_ocr_fields_to_knowledge.py
uvicorn server:app --reload

To work correctly, you need to create a .env file and fill it in according to the .env.example file, replacing placeholders with secret keys.

Frontend Setup

Typing SVG

cd ../Frontend
npm install
npm run dev

Feedback

I would appreciate it if you give a star ⭐. If you find a bug or have suggestions for improvement, use the Issues section.

Team

Development team Mojarung:

Read in Russian 🇷🇺

Releases

No releases published

Packages

No packages published

Languages

  • Svelte 56.3%
  • Python 35.0%
  • TypeScript 8.1%
  • Dockerfile 0.3%
  • Makefile 0.1%
  • JavaScript 0.1%
  • HTML 0.1%