Skip to content

MadsDoodle/AcadIA-EasyFMS

Repository files navigation

ACADIA - Academic Workspace(FMS)

A personal-first academic workspace UI for managing learning files, projects, tasks, documents, and an AI copilot experience.

This repository currently contains the frontend (Vite + React + TypeScript) with a complete set of screens and interactions . It’s designed as the foundation for a full platform with authentication, file storage, collaboration, chat, and AI features.

Website Preview

ACADIA — Landing

Dashboard

Dashboard

Files

Files

Projects

Projects

Tasks

Tasks

AI experiences (screens)
AI Copilot

AI Copilot

Code Review Agent

Code Review Agent

What this project is about

ACADIA is built to help you:

  • Store and browse academic learning material (DSA, ML, CS notes)
  • Organize content into folders/projects
  • Track tasks and learning progress
  • Write and maintain internal documents/notes
  • Query your content using an AI copilot (planned: connect to real backend + LLM)

Implemented UI Modules (current)

The app is routed under /dashboard/* with a shared sidebar layout.

  • Auth (UI + flows mocked)
    • /login, /register
    • Form UI is implemented; API calls are currently simulated.
  • Dashboard
    • /dashboard
    • Stats cards, quick actions, recent activity (mocked).
  • File Management (UI)
    • /dashboard/files
    • Folder tree + preview panel layout, file-type icons, search bar.
    • Current data is a mock in-memory tree.
  • Projects & Collaboration (UI)
    • /dashboard/projects
    • Project list + project details view
    • Tabs for overview, members, and chat
    • Invite modal (UI only)
  • Documents / Notes Editor (UI)
    • /dashboard/documents
    • Document list + rich Markdown editor surface (mock content)
    • Supports Markdown-style writing with headings, lists, code blocks, and inline formatting
  • Tasks / To‑Do System (UI)
    • /dashboard/tasks
    • Spreadsheet-like table view, inline title editing, status cycling
  • AI Copilot (UI)
    • /dashboard/copilot
    • Chat UI with context selector (file/folder/project)
    • Responses are currently simulated
  • Settings (UI)
    • /dashboard/settings

Planned Platform Modules (roadmap)

These are the target capabilities the UI is designed to support:

  • File Management System
    • Upload/create folders, nested folder structure
    • View/preview code, markdown, PDFs, images, notebooks
    • Search by name/type/topic
  • AI Copilot (core differentiator)
    • File-level: “Explain this file”
    • Folder-level: “Summarize everything in this folder”
    • Project-level: “What is this project about?”
    • Works only on your content (retrieval + summarization)
  • Projects & Collaboration
    • Invite by email, role-based access
    • Project-scoped files + docs + assets
  • Team Chat System
    • Project-specific chat with history (future: realtime)
  • Tasks / To‑Do System
    • Inline editing, sorting/filtering, optional due dates
    • Link tasks to files/projects/teams
  • Built-in Document Editor
    • Rich text / Markdown-like editing, code blocks, images
    • Export as PDF (optional)

Tech Stack

  • Build tool: Vite
  • UI: React 18 + TypeScript
  • Routing: react-router-dom
  • Server state: @tanstack/react-query (ready for API integration)
  • UI components: shadcn/ui + Radix UI primitives
  • Styling: TailwindCSS (+ typography, animate)
  • Icons: lucide-react

Pipeline (end-to-end)

flowchart TD
  U[User] --> UI[React UI Vite + TS]
  UI --> R[Routing: react-router-dom]
  UI --> Q[Server State: React Query]

  Q -->|today| M[Mock data + simulated latency]
  Q -->|future| API[Backend API]

  subgraph Backend planned
    API --> Auth[Auth / Sessions]
    API --> DB[Database]
    API --> Storage[File Storage]
    API --> Projects[Projects / Members]
    API --> Tasks[Tasks]
    API --> Docs[Documents]
    API --> Chat[Team Chat]
  end

  Storage --> Ingest[Ingestion: parse → chunk]
  Docs --> Ingest

  subgraph AI planned
    Ingest --> Embed[Embeddings]
    Embed --> Vector[Vector Index]
    UI --> Copilot[Copilot UI]
    Copilot --> Retrieve[Retrieve scoped context]
    Retrieve --> LLM[LLM]
    LLM --> Answer[Answer + citations]
    Vector --> Retrieve
  end

  Answer --> UI
Loading

Project Structure

  • src/main.tsx – React entry
  • src/App.tsx – Router + providers (React Query, tooltips, toasts)
  • src/components/AppLayout.tsx – Sidebar + top bar shell for dashboard routes
  • src/pages/* – Feature screens (Dashboard, Files, Projects, Documents, Tasks, Copilot, Settings)

Getting Started

Prerequisites

  • Node.js 18+ recommended
  • npm (or bun)

Install

npm install

Run locally

npm run dev

Vite is configured to run on:

  • http://localhost:8080

Build

npm run build

Preview production build

npm run preview

Environment Variables

There is currently no .env requirement for the UI-only demo.

When you add a backend/AI provider, typical variables will include:

  • VITE_API_BASE_URL
  • VITE_AI_PROVIDER

Notes / Current Limitations

  • This repo is frontend-only at the moment.
  • Data across Files/Projects/Documents/Tasks/Copilot is mocked (in-memory arrays / simulated delays).
  • Auth flows navigate to the dashboard without real session handling.

Next Steps (suggested)

  • Wire the UI to a backend API (auth, files, projects, tasks, chat)
  • Add persistent storage (DB) and file storage (S3/local)
  • Implement AI retrieval pipeline (indexing + embeddings + scoped querying)
  • Add real-time chat (WebSockets)

If you want, tell me your preferred backend stack (Node/Express, NestJS, FastAPI, etc.) and storage choices, and I can generate a matching backend scaffold + API contracts for the current UI.

About

A personal-first academic workspace for managing learning materials, projects, tasks, and documents—designed as a beginner-friendly alternative to GitHub for students and learners. Built with Vite + React + TypeScript, ACADIA focuses on simplicity, structured learning workflows, and a AI copilot for navigating and querying your acads

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors