A modern, sticky notes application built with React, Vite, and Appwrite. Features a dynamic drag-and-drop interface, auto-saving capability, and real-time backend synchronization.
- ๐ Create & Edit Notes: Easily add new sticky notes and edit their content seamlessly.
- ๐พ Auto-Saving: Content changes are automatically saved to the Appwrite backend safely and securely.
- ๐ฑ๏ธ Drag & Drop: Organize your workspace by dragging notes anywhere on the screen. The position is persisted.
- ๐จ Dynamic Colors: Each note gets assigned coordinated header and body colors for a polished look.
- ๐๏ธ Delete Notes: intuitive controls to remove notes you no longer need.
- โก Fast & Reactive: Built with Vite for lightning-fast development and production performance.
Follow these steps to get the application running on your local machine.
-
Clone the repository
git clone <repository-url> cd NotesWithBackend
-
Install dependencies
npm install
-
Environment Configuration Create a
.env.localfile in the root directory. You can use.env.exampleas a reference. Add your Appwrite configuration keys:VITE_ENDPOINT="https://cloud.appwrite.io/v1" VITE_PROJECT_ID="your_project_id" VITE_DATABASE_ID="your_database_id" VITE_COLLECTION_NOTES_ID="your_collection_id"
-
Run the application
npm run dev
Open
http://localhost:5173in your browser to view the app.
For a detailed look at the project's architecture, data models, and directory structure, please refer to ARCHITECTURE.md.
src/appwrite: Appwrite configuration and service setup.src/components: Reusable UI components (NoteCard, Controls, etc.).src/context: React Context for state management.src/pages: Main application pages.src/utils.js: Utility functions for logic like auto-grow and positioning.
Contributions are welcome! Please feel free to submit a Pull Request.
