
GraphPDF
Contributors
- Ben Chou (massbchou)
- Vi Doan (vitdoan)
- Yuni Jeong (yunijeong5)
- Maneeka Mishra (Maneeka)
- Peter Phan (PPhan-sil)
Project Summary
GraphPDF is an Electron application enhanced by Vite, Svelte, and Tailwind designed to streamline the management of local directories and PDF files. It comprises a welcome page, a search page, a PDF view page, and a graph page, helping users creatively organize and visualize their files.
Users can search and categorize PDFs by assigning labels to”author” and “tag” attributes. The graph page provides a visual representation of these connections, with PDF files depicted as nodes and shared attributes establishing edges, enabling users to organize and explore their PDF collections dynamically. Users can conveniently access any PDF file stored in their system by clicking on a node in the graph view or from the file tree. This action will open the corresponding PDF in the PDF view page, providing a smooth and efficient user experience.
Tech Stack
- Vite
- For bundling, compiling, and providing hot reload while developing
- Electron
- Framework for building cross-platform desktop applications using web technologies
- Svelte
- Simple Javascript framework that outputs efficient and performative builds
- Tailwind
- Simple and flexible CSS framework
Project Structure Overview
./tests/e2e.spec.ts- Tests using
vitest - There are a few basic tests already to build off of
- In the future we may want basic tests for detecting if certain components open/close
- Tests using
./packages/main/- Electron main process code that powers the app
- Manages creating and handling spawned windows
- Can also handle logging here
./packages/preload/- Just handles the bridge between the frontend and Electron/Node
./packages/renderer/- Majority of our development will happen here
- All the frontend and Svelte code goes here just like any regular Svelte project