-
Notifications
You must be signed in to change notification settings - Fork 4
Home
FrolickingMustelid edited this page Jul 22, 2023
·
1 revision
Generated by ChatGPT
Welcome to the project wiki for our Notes Taking Desktop Application! This wiki serves as a comprehensive guide for developers working on this project. Here, you'll find essential information about the tools we use, our sources of inspiration, possible tools we might incorporate, and valuable learning resources. Let's get started!
- Tauri: Tauri is an app construction toolkit in Rust, enabling us to build lightweight and efficient desktop applications.
- Svelte and SvelteKit: Svelte is a modern JavaScript framework for building user interfaces, and SvelteKit enhances it by providing a framework for building web applications.
- Flowbite: Flowbite is a component library for Svelte, offering reusable UI components to speed up development.
- Obsidian.md: We draw inspiration from Obsidian.md for its note storage approach, where notes are stored as Markdown files, enabling easy access and compatibility.
- Rustpad: Rustpad serves as inspiration for the collaboration stretch goal. We aim to implement real-time collaborative note editing similar to Rustpad.
- Drag-and-drop Functionality:
- dnd-kit: Obsidian's graph view uses this library for drag-and-drop functionality.
- Dragula: A vanilla JavaScript library for drag-and-drop operations.
- svelte-dnd-action: A Svelte-specific library for drag-and-drop actions.
- Graph Visualization:
- neo4jd3: A tool for visualizing Neo4j graphs. May be helpful for the graph-like visual presentation of notes.
- Mermaid.js: Offers a simpler mind map visualization that could be used for our purposes.
- Markdown Editor:
- Bytemd: A hackable Markdown editor and viewer that could be integrated into our application.
- Web Application Framework for Online Mode:
- Svelte Tutorial: A helpful tutorial to get started with Svelte development.
- Rust Axum Full Course: A comprehensive course on Rust Axum, beneficial for the online mode stretch goal.
- Rudy Chen's Presentation on Collaborative Text Editing: This presentation provides valuable insights into collaborative editing, relevant to our stretch goal.
- Text Display Options on Notes Listing Page:
- Show the first paragraph/x letters of the note.
- Utilize the "summary" variable from the frontmatter of the Markdown file.
- Generate a summary from the note's content using AI techniques.
- Calendar View: Explore the possibility of adding a calendar view for organizing and visualizing notes based on dates.
We hope this wiki provides you with a solid foundation for contributing to the project. Happy coding and collaboration!
If you have any questions, feel free to reach out to the team for assistance. Let's build something amazing together!