Pydeia

Branch: main Commit: 71050007 Generated: 2026-01-10 23:03:05

Summary

▼

Pydeia

Overview

Pydeia is a comprehensive web application and server-side data recommendation system built using TypeScript, Python, React, and Flask. Its primary purpose is to provide personalized university recommendations based on user preferences and profile information, addressing the challenge of matching students with suitable educational opportunities. The system leverages a data-driven recommendation engine and integrates with external services like OpenAI for natural language processing. Key features include a dynamic UI powered by React and Vite, a recommendation system that dynamically adapts to user input, and seamless integration with OpenAI for advanced natural language processing capabilities. The project architecture is based on microservices, with the server-side implemented in Python and the client-side using React and Vite. The server handles API requests and interactions with various services, while the client manages the user interface and communication with the server. The main technologies used are TypeScript, Python, React, Flask, Vite, and Tailwind CSS, with the project employing modern JavaScript/TypeScript patterns such as TypeScript configuration, Vite configuration, and React routing. The target users are students and educators looking for personalized university recommendations, and the use cases include matching students with suitable educational opportunities, providing recommendations based on user preferences, and integrating with external services for advanced functionality.

Architecture

Pattern: Microservices


File Reference

File Purpose
server/requirements.txt Lists the Python dependencies for the server.
server/server.py This file is a Flask web application server for a data recommendation system, handling API requests and interactions with various services like...
website/components.json Defines aliases for components and utilities used in the website.
website/eslint.config.js Configures ESLint for the project, including rules and extensions.
website/index.html A static HTML file that sets up the basic structure and metadata for the website.
website/package.json Manages project dependencies and scripts for the Vite React application.
website/postcss.config.js Configures PostCSS plugins to be used with Tailwind CSS.
website/src/App.css Styling for the root component of the Vite React application.
website/src/App.tsx The main entry point for the Vite React application, providing routing and query client context.
website/src/components/Sidebar.tsx Provides a sidebar component for the website, including a logo, conversation messages, and a scrollable area.
website/src/components/ui/button.tsx Provides a button component with various styles and behaviors.
website/src/components/ui/input.tsx Defines a custom input component with basic styling and behavior.
website/src/components/ui/label.tsx Defines a custom label component using Radix UI's LabelPrimitive and class-variance-authority for styling.
website/src/components/ui/popover.tsx Defines a custom popover component using Radix UI's PopoverPrimitive.
website/src/components/ui/select.tsx Defines a custom select component with basic functionality and styling.
website/src/components/ui/separator.tsx Defines a custom separator component using Radix UI's SeparatorPrimitive.
website/src/index.css Tailwind CSS configuration and base styles for the Vite React application.
website/src/main.tsx The main entry point for the Vite React application.
website/src/pages/Index.tsx This file defines the main component for the Index page, which includes state management for messages, conversation state, and speech recognition...
website/src/pages/Results.tsx Displays university recommendations based on user preferences and profile.
website/tailwind.config.ts Configures Tailwind CSS for the project, including content, theme, and prefixes.
website/tsconfig.app.json Configures TypeScript options for the project, including compiler options and references.
website/tsconfig.json Configures TypeScript options for the project, including compiler options and references.
website/tsconfig.node.json Configures TypeScript compiler options for the Node.js environment.
website/vite.config.ts Configures Vite to work with React and sets up server configuration and plugins.

Repository Info

  • URL: https://github.com/sstraccialini/Pydeia.git
  • Languages: TypeScript (TSX): 73.8%, Python: 18.4%, TypeScript: 4.7%, JavaScript: 1.4%, CSS: 1.2%
  • Config Files: website/package.json, server/requirements.txt

Interactive Diagram

▼
Use the controls within the diagram to expand/collapse folders and export the visualization.

File Selection (25 selected)

▼

Triage method: heuristic | Total scanned: 85

Selected Files (25)

  • website/package.json
  • website/src/App.css
  • website/src/App.tsx
  • website/src/index.css
  • server/requirements.txt
  • website/src/main.tsx
  • website/components.json
  • website/index.html
  • website/src/pages/Index.tsx
  • server/server.py
  • website/eslint.config.js
  • website/tailwind.config.ts
  • website/tsconfig.app.json
  • website/tsconfig.json
  • website/tsconfig.node.json
  • website/vite.config.ts
  • website/postcss.config.js
  • website/src/components/Sidebar.tsx
  • website/src/pages/Results.tsx
  • website/src/components/ui/button.tsx
  • website/src/components/ui/label.tsx
  • website/src/components/ui/separator.tsx
  • website/src/components/ui/input.tsx
  • website/src/components/ui/popover.tsx
  • website/src/components/ui/select.tsx

Optional Files (50)

  • website/src/components/ui/toast.tsx
  • website/src/components/ui/tooltip.tsx
  • website/src/components/ui/toaster.tsx
  • website/src/components/ui/dialog.tsx
  • website/src/components/ui/toggle.tsx
  • website/src/components/ui/sidebar.tsx
  • website/src/components/ui/accordion.tsx
  • website/src/components/ui/avatar.tsx
  • website/src/components/ui/card.tsx
  • website/src/components/ui/sheet.tsx
  • website/src/components/ConversationView.tsx
  • website/src/components/EmptyState.tsx
  • website/src/pages/NotFound.tsx
  • website/src/components/ui/collapsible.tsx
  • website/src/components/ui/skeleton.tsx
  • website/src/components/ui/sonner.tsx
  • website/src/hooks/use-toast.ts
  • website/src/components/ui/alert.tsx
  • website/src/components/ui/checkbox.tsx
  • website/src/data/mockResults.ts
  • website/src/hooks/use-mobile.tsx
  • website/src/components/ui/badge.tsx
  • website/src/components/ui/progress.tsx
  • website/src/components/ui/scroll-area.tsx
  • website/src/components/ui/switch.tsx
  • website/src/components/ui/table.tsx
  • website/src/components/NavLink.tsx
  • website/src/components/ui/alert-dialog.tsx
  • website/src/components/ui/breadcrumb.tsx
  • website/src/components/ui/calendar.tsx
  • website/src/components/ui/carousel.tsx
  • website/src/components/ui/chart.tsx
  • website/src/components/ui/command.tsx
  • website/src/components/ui/context-menu.tsx
  • website/src/components/ui/drawer.tsx
  • website/src/components/ui/dropdown-menu.tsx
  • website/src/components/ui/form.tsx
  • website/src/components/ui/hover-card.tsx
  • website/src/components/ui/input-otp.tsx
  • website/src/components/ui/menubar.tsx
  • website/src/components/ui/navigation-menu.tsx
  • website/src/components/ui/pagination.tsx
  • website/src/components/ui/radio-group.tsx
  • website/src/components/ui/resizable.tsx
  • website/src/components/ui/slider.tsx
  • website/src/components/ui/tabs.tsx
  • website/src/components/ui/textarea.tsx
  • website/src/components/ui/toggle-group.tsx
  • website/src/components/ui/use-toast.ts
  • .gitignore

Repository Metadata

▼

File Summaries (25 files)

▼

Each file has an individual summary artifact in the cache's files/ directory for traceability.