Skip to content

AI PDF reader for LCC Bacolod: Summarize, ask questions, and interact with your documents smarter and faster.

License

Notifications You must be signed in to change notification settings

cordyStackX/lccb_ai_2

Repository files navigation

LACO AI - Intelligent PDF Analysis System

Author: cordyStackX | Year: 2025

Beta Version License Educational

🎯 Project Overview

LACO AI is an advanced AI-powered PDF analysis and summarization system designed for La Consolacion College Bacolod (LCCB). This educational project leverages cutting-edge artificial intelligence to transform how students and educators interact with academic documents.

⚠️ Beta Version Notice

This is a BETA VERSION for educational and research purposes only. Not intended for production or commercial use.


✨ Key Features

πŸ“„ Intelligent PDF Processing

  • Smart Summarization: Automatically generate concise summaries of lengthy PDF documents
  • Context-Aware Analysis: AI understands document structure and extracts key information

πŸ’¬ Interactive AI Chat

  • Ask Questions: Query your documents and receive accurate, context-based answers
  • Real-time Responses: Powered by Google Gemini AI for instant feedback
  • Conversation Memory: Maintains chat history for continuous dialogue

πŸ”’ Security & Privacy

  • Temporary Storage: Uploaded PDFs automatically deleted after 5 minutes
  • Encrypted Authentication: Secure JWT-based user authentication
  • No Data Collection: Privacy-first approach - your documents remain confidential

🎨 Modern User Interface

  • Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
  • Interactive 3D Effects: Engaging visual effects using Three.js and React Three Fiber
  • Intuitive Navigation: User-friendly dashboard and chat interface

πŸ› οΈ Technology Stack

Frontend

  • Framework: Next.js 15 (React 19)
  • Language: TypeScript
  • Styling: CSS Modules with adaptive theming
  • 3D Graphics: Three.js, React Three Fiber (@react-three/fiber, @react-three/drei)
  • State Management: React Hooks (useState, useEffect, useRef)
  • Routing: Next.js App Router

Backend

  • API Framework: Flask (Python)
  • AI Engine: GPT 5 Mini
  • PDF Processing: PyPDF2
  • Database: Supabase (PostgreSQL)
  • Authentication: JWT tokens
  • File Storage: Supabase Storage

DevOps & Tools

  • Package Manager: pnpm
  • Code Quality: ESLint, TypeScript
  • Version Control: Git & GitHub
  • Deployment: Render (Python API), Vercel-ready (Next.js)

πŸ—οΈ System Architecture

LACO AI follows a Service-Oriented Architecture (SOA) for modularity and scalability.

%%{init: {'theme':'base', 'themeVariables': {'fontSize':'18px', 'fontFamily':'arial', 'lineColor':'#ff4444', 'primaryBorderColor':'#ff4444'}}}%%
flowchart TD
    %% ===== User Interface =====
    User["<b>USER</b><br/>πŸ‘€"]
    
    %% ===== Presentation Layer =====
    UI_Pages["<b>APP PAGES</b><br/>πŸ“±<br/>(src/app)"]
    UI_Components["<b>UI COMPONENTS</b><br/>🎨<br/>(src/components)"]
    
    %% ===== Authentication Layer =====
    JWT_Service["<b>JWT SERVICE</b><br/>πŸ”<br/>(/services/jwt)"]
    Auth_Service["<b>AUTH SERVICE</b><br/>βœ‰οΈ<br/>(Supabase Auth)"]
    Email_Verification["<b>EMAIL VERIFY</b><br/>πŸ“§"]
    
    %% ===== AI Processing =====
    AI_Response["<b>AI RESPONSE</b><br/>πŸ€–<br/>(response)"]
    AI_Response2["<b>AI RESPONSE V2</b><br/>πŸ€–<br/>(response2)"]
    Gemini_API["<b>Open AI</b><br/>⭐"]
    
    %% ===== Storage Layer =====
    Upload_PDF["<b>UPLOAD PDF</b><br/>πŸ“€"]
    Retrieve_PDF["<b>RETRIEVE PDF</b><br/>πŸ“₯"]
    Update_PDF["<b>UPDATE PDF</b><br/>✏️"]
    Delete_PDF["<b>DELETE PDF</b><br/>πŸ—‘οΈ"]
    Storage[("<b>SUPABASE<br/>STORAGE</b><br/>πŸ’Ύ")]
    
    %% ===== Admin Services =====
    Manage_User["<b>USER MGMT</b><br/>πŸ‘₯"]
    API_Logs["<b>API LOGS</b><br/>πŸ“Š"]
    Code_Logs["<b>CODE LOGS</b><br/>πŸ“‹"]
    Update_Status["<b>UPDATE STATUS</b><br/>πŸ”„"]
    
    %% ===== Utilities =====
    Security_Helper["<b>SECURITY</b><br/>πŸ›‘οΈ"]
    Fetch_Utils["<b>FETCH UTILS</b><br/>πŸ”§"]
    
    %% ===== Flow Connections =====
    User --> UI_Pages
    User --> UI_Components
    
    UI_Pages --> JWT_Service
    UI_Pages -->Auth_Service
    UI_Pages -->AI_Response
    UI_Pages --> Upload_PDF
    
    UI_Components -->Fetch_Utils
    
    JWT_Service -->Security_Helper
    Auth_Service -->Email_Verification
    
    AI_Response -->OpenAI_API
    AI_Response2 --> OpenAI_API
    
    Manage_User -->Auth_Service
    Manage_User --> Update_Status
    
    Upload_PDF --> Storage
    Retrieve_PDF -->Storage
    Update_PDF -->Storage
    Delete_PDF -->Storage
    
    API_Logs -->Storage
    Code_Logs -->Storage
    
    Storage -->AI_Response
    
    %% ===== Styling =====
    linkStyle default stroke:#ff4444,stroke-width:3px
    classDef userStyle fill:#e1f5ff,stroke:#01579b,stroke-width:4px,color:#000
    classDef uiStyle fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#000
    classDef authStyle fill:#f3e5f5,stroke:#4a148c,stroke-width:3px,color:#000
    classDef aiStyle fill:#e8f5e9,stroke:#1b5e20,stroke-width:3px,color:#000
    classDef storageStyle fill:#fce4ec,stroke:#880e4f,stroke-width:3px,color:#000
    classDef adminStyle fill:#fff9c4,stroke:#f57f17,stroke-width:3px,color:#000
    classDef utilStyle fill:#e0f2f1,stroke:#004d40,stroke-width:3px,color:#000
    
    class User userStyle
    class UI_Pages,UI_Components uiStyle
    class JWT_Service,Auth_Service,Email_Verification authStyle
    class AI_Response,AI_Response2,Gemini_API aiStyle
    class Upload_PDF,Retrieve_PDF,Update_PDF,Delete_PDF,Storage storageStyle
    class Manage_User,API_Logs,Code_Logs,Update_Status adminStyle
    class Security_Helper,Fetch_Utils utilStyle
Loading

πŸ“Š Use Cases

Installation & Setup

Option 1: Automated Setup (Recommended)

  1. Clone the repository:

    git clone https://github.com/cordyStackX/lccb_ai_2.git
    cd lccb_ai_2
  2. Run the automated setup script:

    chmod +x setup.sh
    ./setup.sh
  3. The script will:

    • Install Node.js dependencies
    • Set up Python virtual environment
    • Install Python packages
    • Configure environment variables
    • Start both Next.js and Flask servers
  4. Open your browser and navigate to:

Option 2: Manual Setup

Frontend Setup:

# Install dependencies
pnpm install

# Run development server
pnpm dev

Backend Setup:

# Navigate to Python directory
cd python

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run Flask server
python main.py

πŸ“– User Guide

1. Registration & Login

  • Navigate to /auth/signup to create an account
  • Verify email through confirmation link
  • Login at /auth/signin
  • Secure JWT-based authentication

2. Uploading PDFs

  • Access the dashboard after login
  • Click "Upload PDF" button
  • Select your PDF file (supports large files up to 900+ pages)

🎨 Design & User Experience

Visual Design

  • Modern UI: Clean, minimalist interface with adaptive theming
  • 3D Effects: Interactive sphere with distortion effects using Three.js
  • Responsive Layout: Optimized for all screen sizes
  • Accessibility: WCAG-compliant color contrast and keyboard navigation

User Flow

  1. Landing Page β†’ Feature overview and project description
  2. Authentication β†’ Secure signup/login with email verification

⚑ How It Works

Request Flow

  1. User Interaction β†’ Frontend components (React/Next.js)
  2. API Request β†’ Next.js API routes handle client requests
  3. Authentication β†’ JWT verification and user validation
  4. PDF Processing β†’ Python Flask server downloads and processes PDF
  5. AI Analysis β†’ Open AI analyzes content and generates response
  6. Database Logging β†’ Supabase records API usage and user actions
  7. Response Delivery β†’ AI-generated answer returned to frontend
  8. Auto-Cleanup β†’ Temporary files deleted after 5 minutes

Technical Workflow

User β†’ Next.js UI β†’ API Routes β†’ JWT Auth β†’ Flask API 
β†’ Supabase Storage β†’ PDF Processing β†’ Open AI 
β†’ Response β†’ Database Log β†’ User Display

πŸ› Known Issues & Limitations

Current Limitations

  • Beta Version: May contain bugs and unexpected behavior
  • Large PDFs: 900+ page documents may experience processing delays
  • API Limits: Subject to Open AI API rate limits
  • Temporary Storage: Files auto-delete after 5 minutes
  • No Offline Mode: Requires internet connection for AI processing

Planned Improvements

  • Enhanced PDF chunking algorithm for better context retention
  • Support for more document formats (DOCX, TXT, etc.)
  • Conversation history export
  • Multi-language support
  • Advanced search within documents
  • Document comparison feature

🀝 Contributing

We welcome contributions from the community! This is an educational open-source project.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow existing code style and conventions
  • Write clear commit messages
  • Test your changes thoroughly
  • Update documentation as needed
  • Respect the Apache 2.0 license

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Key Points

  • βœ… Free to use, modify, and distribute
  • βœ… Must include license and copyright notice
  • βœ… State significant changes made
  • ❌ No warranty provided
  • ❌ Contributors not liable for damages

Copyright Β© 2025 cordyStackX


πŸ‘¨β€πŸ’» Project Information

Developer

Project Stats

  • Version: Beta
  • Started: 2025
  • Language: TypeScript, Python
  • Framework: Next.js, Flask
  • AI Model: GPT 5 Mini

πŸ“ž Support & Contact

For Questions or Issues

Important Links


🌟 Acknowledgments

  • La Consolacion College Bacolod - Inspiration and educational purpose
  • Google Gemini AI - Powerful AI processing capabilities
  • Supabase - Database and authentication infrastructure
  • Next.js Team - Excellent web framework
  • Open Source Community - Libraries and tools used in this project

⚠️ Disclaimer

IMPORTANT NOTICE:

This is a BETA VERSION educational research project. By using this software, you acknowledge:

  • βœ… This is for educational and research purposes only
  • βœ… Not intended for production or commercial use
  • βœ… Provided "AS IS" without warranties
  • βœ… May contain bugs, errors, or unexpected behavior
  • βœ… Subject to changes or discontinuation without notice
  • ❌ Do not upload sensitive or confidential information
  • ❌ No illegal activities supported or condoned
  • ❌ No guarantees of data security or availability

Use at your own risk. The developers and contributors are not liable for any damages or losses arising from the use of this software.


πŸ“š Additional Resources

Documentation

Tutorials


βœ… Result:
LACO AI is a hybrid SOA system combining modern web technologies with powerful AI capabilities to revolutionize document interaction for educational purposes.

  • Frontend acts as the service consumer
  • Next.js API routes as the middleware layer
  • Python Flask as the AI service provider
  • Supabase as the data and storage layerhe dashboard
  • Delete documents when no longer needed
  • Documents auto-delete after 5 minutes for security

πŸ”’ Security & Privacy

Data Protection

  • Temporary Storage: PDFs deleted automatically after 5 minutes
  • Encrypted Passwords: Industry-standard encryption (bcrypt)
  • JWT Authentication: Secure token-based sessions
  • API Key Protection: All endpoints require authentication
  • No External Data Collection: Your documents stay private

Compliance

  • Apache License 2.0
  • Educational use only
  • No illegal activities supported
  • GDPR-conscious design (no unnecessary data retention)

πŸŽ“ Educational Purpose

This project is developed strictly for:

  • βœ… Educational research and learning
  • βœ… Academic experimentation
  • βœ… Technology demonstration
  • βœ… Open-source contribution

Not intended for:

  • ❌ Commercial use
  • ❌ Production deployment
  • ❌ Processing sensitive/confidential data
  • ❌ Any illegal activities

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and pnpm
  • Python 3.13+
  • Ubuntu/Linux environment (WSL supported)
  • Google Gemini API key
  • Supabase account

Environment Variables

Create a .env.local file in the project root:

# Google AI
GOOGLE_API_KEY=your_gemini_api_key

# API Security
API_KEY=your_secure_api_key

# Supabase
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Optional
RENDER_API=your_render_api_url
PORT=10000

Disclaimer: This project does not collect any user data for external purposes. All data is processed securely and stored temporarily.


πŸ“Š Project Diagrams

Data Flow Diagram (DFD)

The Data Flow Diagram illustrates how data moves through the LACO AI system, from user input to AI-generated output.

Data Flow Diagram

Key Data Flows:

  • User uploads PDF β†’ Supabase Storage
  • PDF retrieval β†’ Python Flask API
  • PDF text extraction β†’ Google Gemini AI
  • AI response β†’ User interface
  • Activity logging β†’ Supabase Database

Context Free Diagram (CFD)

The Context Diagram shows the system boundaries and external entities that interact with LACO AI.

flowchart TB
    %% External entities
    Students[Students] -->|Upload PDFs / Ask Questions| LACO[LACO AI System]
    Teachers[Teachers] -->|Upload / Manage Content| LACO
    Admin[Admin] -->|Monitor / Manage System| LACO
    Kiosk[Touch Screen Kiosk] -->|Campus Info / Guidance| LACO

    %% LACO AI System internal boundary
    subgraph "LACO AI System"
        direction TB
        AI[AI Engine] 
        Filtering[User-Level Filtering]
        Departments[Departments: SARFAID, SBIT, SHTM, SSLATE]
        Programs[Programs by Department]
        Levels[Educational Levels / Tracks: Pre-K, Elementary, JHS, Night HS, SHS - Academic, Arts, TVL]
        
        %% Internal connections
        LACO --> Filtering
        Filtering --> Departments
        Departments --> Programs
        Programs --> Levels
        Levels --> AI
        AI --> LACO
    end

    %% Outputs from system
    LACO -->|AI Responses / Summaries| Students
    LACO -->|Content Feedback / Reports| Teachers
    LACO -->|System Reports / Logs| Admin
    LACO -->|Filtered Campus Info| Kiosk

Loading

External Entities:

  • Users: Students, Educators, Researchers
  • Google Gemini AI: AI processing service
  • Supabase: Database and storage provider
  • Email Service: Authentication and notifications

πŸ“… Project Timeline (Gantt Chart)

Development timeline and milestones for the LACO AI project.

Gant Chart

Directory Tree

src
β”œβ”€β”€ app
β”‚Β Β  β”œβ”€β”€ favicon.ico
β”‚Β Β  β”œβ”€β”€ globals.css
β”‚Β Β  β”œβ”€β”€ layout.tsx
β”‚Β Β  β”œβ”€β”€ not-found.module.css
β”‚Β Β  β”œβ”€β”€ not-found.tsx
β”‚Β Β  β”œβ”€β”€ (pages)
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ admin
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ chatbot
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dashboard
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ manageuser
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── setting
β”‚Β Β  β”‚Β Β  β”‚Β Β      └── page.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ confirm-email-forgot-pwd
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ confirm-email-signin
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ confirm-email-signup
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ create-password
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ forgot-password
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ signin
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ signup
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── update-password
β”‚Β Β  β”‚Β Β  β”‚Β Β      └── page.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ chat_bot
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ privacy
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ terms
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── page.tsx
β”‚Β Β  β”‚Β Β  └── user
β”‚Β Β  β”‚Β Β      └── settings
β”‚Β Β  β”‚Β Β          └── page.tsx
β”‚Β Β  β”œβ”€β”€ page.tsx
β”‚Β Β  └── services
β”‚Β Β      β”œβ”€β”€ api
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ response
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β      β”‚Β Β  └── response2
β”‚Β Β      β”‚Β Β      └── route.ts
β”‚Β Β      β”œβ”€β”€ jwt
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ auth
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ deauth
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β      β”‚Β Β  └── verify
β”‚Β Β      β”‚Β Β      └── route.ts
β”‚Β Β      └── supabase
β”‚Β Β          β”œβ”€β”€ admin
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ delete_user
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ retrieve_API_logs
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ retrieve_code_logs
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ retrieve_user
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  └── update_user_status
β”‚Β Β          β”‚Β Β      └── route.ts
β”‚Β Β          β”œβ”€β”€ auth
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ check_code
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ check_status
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ forgot_password
β”‚Β Β          β”‚Β Β  β”‚Β Β  β”œβ”€β”€ check_email
β”‚Β Β          β”‚Β Β  β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── update_account
β”‚Β Β          β”‚Β Β  β”‚Β Β      └── route.ts
β”‚Β Β          β”‚Β Β  β”œβ”€β”€ signin
β”‚Β Β          β”‚Β Β  β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β  └── signup
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ check_email
β”‚Β Β          β”‚Β Β      β”‚Β Β  └── route.ts
β”‚Β Β          β”‚Β Β      └── create_account
β”‚Β Β          β”‚Β Β          └── route.ts
β”‚Β Β          β”œβ”€β”€ health
β”‚Β Β          β”‚Β Β  └── route.ts
β”‚Β Β          └── storage
β”‚Β Β              β”œβ”€β”€ deletepdf
β”‚Β Β              β”‚Β Β  └── route.ts
β”‚Β Β              β”œβ”€β”€ retrieve
β”‚Β Β              β”‚Β Β  └── route.ts
β”‚Β Β              β”œβ”€β”€ updatepdf
β”‚Β Β              β”‚Β Β  └── route.ts
β”‚Β Β              └── uploadpdf
β”‚Β Β                  └── route.ts
β”œβ”€β”€ components
β”‚Β Β  β”œβ”€β”€ admin
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ chat_bot
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dashboard
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ manage_user
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ setting
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  └── sidebar
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β      └── index.tsx
β”‚Β Β  β”œβ”€β”€ auth
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ confirm_email_forgot_pwd
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ confirm_email_signin
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ confirm_email_signup
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ create_password
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ forgot_password
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ signin
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ signup
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  └── update_password
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β      └── index.tsx
β”‚Β Β  β”œβ”€β”€ chat_bot
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ header
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ main
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  └── sidebars
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β      └── index.tsx
β”‚Β Β  β”œβ”€β”€ disclaimer
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ privacy
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  └── terms
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β      └── index.tsx
β”‚Β Β  β”œβ”€β”€ landpage
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ banner
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ chat_bot
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ chat_bot_ask
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ fx_effect
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ header
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.module.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.tsx
β”‚Β Β  β”‚Β Β  └── index.ts
β”‚Β Β  └── user
β”‚Β Β      β”œβ”€β”€ dashboard
β”‚Β Β      β”‚Β Β  └── index.ts
β”‚Β Β      └── index.ts
β”œβ”€β”€ config
β”‚Β Β  β”œβ”€β”€ conf
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css_config
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ background_colors.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ config.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ display_flex.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── status.css
β”‚Β Β  β”‚Β Β  └── json_config
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ Api_links.json
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ fetch_url.json
β”‚Β Β  β”‚Β Β      └── Metadata.json
β”‚Β Β  └── images_links
β”‚Β Β      └── assets.json
β”œβ”€β”€ lib
β”‚Β Β  β”œβ”€β”€ code_store.ts
β”‚Β Β  β”œβ”€β”€ security.ts
β”‚Β Β  └── supabase-server.ts
β”œβ”€β”€ modules
β”‚Β Β  β”œβ”€β”€ formula
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Use_scroll_deg.ts
β”‚Β Β  β”‚Β Β  └── Use_scroll.ts
β”‚Β Β  └── index.ts
└── utilities
    β”œβ”€β”€ Fetch_toFile.ts
    β”œβ”€β”€ Fetch_to.ts
    β”œβ”€β”€ index.ts
    β”œβ”€β”€ InView.ts
    β”œβ”€β”€ Meta_data.ts
    β”œβ”€β”€ Prevent_Exit.ts
    └── SweetAlert2.ts

About

AI PDF reader for LCC Bacolod: Summarize, ask questions, and interact with your documents smarter and faster.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •