|
1 | | - |
| 1 | +# Notes App |
2 | 2 |
|
3 | | -# Notes App in JavaScript |
| 3 | +A modern, browser-based note-taking application built with HTML, CSS, and JavaScript. The Notes App allows users to create, edit, and organize notes with rich text formatting, color coding, categories, pinning, archiving, and drag-and-drop functionality. Notes are stored locally using localStorage, ensuring persistence across sessions without a backend. |
4 | 4 |
|
5 | | -This is a simple and fully responsive Notes App built using HTML, CSS, and JavaScript. The app allows users to create, update, and delete notes, with all data stored in the browser's local storage. |
| 5 | + |
| 6 | +*The Notes App interface showing note cards with pinning and archiving options.* |
6 | 7 |
|
7 | 8 | ## Features |
8 | 9 |
|
9 | | -- **Add New Note**: Easily create a new note with a title and description. |
10 | | -- **Edit Note**: Update the details of an existing note. |
11 | | -- **Delete Note**: Remove notes from the app. |
12 | | -- **Responsive Design**: The app is fully responsive, making it work well on both desktop and mobile devices. |
13 | | -- **Local Storage**: Notes are stored in the browser’s local storage, ensuring they persist even after closing the app or refreshing the page. |
14 | | -- **Date Display**: Each note has a date attached, formatted as `Month Day, Year`. |
| 10 | +- **Rich Text Formatting**: Add bold, italic, bullet lists, and numbered lists to notes using a formatting toolbar |
| 11 | +- **Color Coding**: Assign custom colors to notes for visual organization |
| 12 | +- **Categories**: Organize notes into categories (General, Work, Personal, Ideas) with filtering options |
| 13 | +- **Pinning and Archiving**: Pin important notes to the top or archive them for later reference |
| 14 | +- **Search and Filter**: Quickly find notes by searching titles/content or filtering by category/archive status |
| 15 | +- **Drag-and-Drop**: Reorder notes by dragging and dropping them within the grid |
| 16 | +- **Export/Import**: Save notes as a JSON file and import them to restore or share |
| 17 | +- **Theme Toggle**: Switch between light and dark themes for a comfortable viewing experience |
| 18 | +- **Keyboard Shortcuts**: Use Ctrl+N to open the note creation popup and Esc to close it |
| 19 | +- **Responsive Design**: Works seamlessly on desktop and mobile devices |
| 20 | +- **Live Preview**: See a real-time preview of formatted note content while editing |
| 21 | + |
| 22 | +## Demo |
| 23 | + |
| 24 | +[Live Demo](https://your-username.github.io/notes-app) (if hosted on GitHub Pages) |
| 25 | + |
| 26 | +## Installation |
| 27 | + |
| 28 | +1. **Clone the Repository**: |
| 29 | + ```bash |
| 30 | + git clone https://github.com/your-username/notes-app.git |
| 31 | + cd notes-app |
| 32 | + ``` |
| 33 | + |
| 34 | +2. **Open the App**: |
| 35 | + - Open `index.html` in a web browser (e.g., Chrome, Firefox) |
| 36 | + - No server is required, as the app runs entirely client-side |
| 37 | + |
| 38 | +3. **Dependencies**: |
| 39 | + - The app uses external CDNs for: |
| 40 | + - Iconscout Unicons for icons |
| 41 | + - Google Fonts (Inter) for typography |
| 42 | + - Ensure an internet connection for initial loading, or host these resources locally |
| 43 | + |
| 44 | +## Usage |
15 | 45 |
|
16 | | -## Tech Stack |
| 46 | +### Create a Note |
| 47 | +1. Click the "Add new note" card or press `Ctrl+N` |
| 48 | +2. Enter a title, content, and select a category |
| 49 | +3. Choose a color from the color picker |
| 50 | +4. Use the formatting toolbar for bold, italic, or lists |
| 51 | +5. Click "Save Note" to add it to the grid |
17 | 52 |
|
18 | | -- **HTML**: Structure of the app. |
19 | | -- **CSS**: Styling and responsive design. |
20 | | -- **JavaScript**: Functionality for adding, editing, deleting, and displaying notes. |
21 | | -- **LocalStorage**: Used to store notes on the client side. |
| 53 | +### Edit a Note |
| 54 | +1. Click a note card to open the edit popup with pre-filled details |
| 55 | +2. Update the content and save |
22 | 56 |
|
23 | | -## How to Use |
| 57 | +### Organize Notes |
| 58 | +- **Pin**: Click the pin icon to prioritize a note (gold border and top placement) |
| 59 | +- **Archive**: Click the archive icon to move a note to the archive |
| 60 | +- **Drag-and-Drop**: Drag notes to reorder them |
| 61 | +- **Filter**: Use the category dropdown to view specific categories or archived notes |
| 62 | +- **Search**: Type in the search bar to filter notes by title or content |
24 | 63 |
|
25 | | -1. **Add a Note**: Click the "Add new note" button to open the popup where you can enter a title and description for the note. Once you're done, click "Add Note" to save it. |
26 | | -2. **Edit a Note**: Click the "Edit" option in the note settings to update the note’s content. |
27 | | -3. **Delete a Note**: Click the "Delete" option in the note settings to remove a note. |
28 | | -4. **Responsive Layout**: The app adjusts itself for different screen sizes, ensuring a smooth experience across devices. |
| 64 | +### Manage Notes |
| 65 | +- **Export**: Click "Export Notes" to download a JSON file |
| 66 | +- **Import**: Click "Import Notes" and select a JSON file to replace existing notes |
| 67 | +- **Theme**: Toggle between light and dark modes using the theme button |
29 | 68 |
|
30 | | -## Getting Started |
| 69 | +## Project Structure |
31 | 70 |
|
32 | | -1. Clone this repository to your local machine: |
| 71 | +``` |
| 72 | +notes-app/ |
| 73 | +├── index.html # Main HTML file with the app structure |
| 74 | +├── script.js # JavaScript for functionality (note management, events, etc.) |
| 75 | +├── style.css # CSS for styling and responsive design |
| 76 | +└── README.md # Project documentation |
| 77 | +``` |
| 78 | + |
| 79 | +## Contributing |
| 80 | + |
| 81 | +Contributions are welcome! To contribute: |
| 82 | + |
| 83 | +1. Fork the repository |
| 84 | +2. Create a new branch: |
33 | 85 | ```bash |
34 | | - git clone https://github.com/GZ30eee/Notes-Web-App.git |
| 86 | + git checkout -b feature/your-feature-name |
35 | 87 | ``` |
36 | | -2. Navigate to the project folder: |
| 88 | +3. Make your changes and commit: |
37 | 89 | ```bash |
38 | | - cd notes-app |
| 90 | + git commit -m "Add your feature description" |
| 91 | + ``` |
| 92 | +4. Push to your branch: |
| 93 | + ```bash |
| 94 | + git push origin feature/your-feature-name |
39 | 95 | ``` |
40 | | -3. Open `index.html` in your browser to start using the app. |
| 96 | +5. Open a pull request with a clear description of your changes |
41 | 97 |
|
42 | | -## Screenshots |
43 | | - |
44 | | - |
| 98 | +Please ensure your code follows the existing style (e.g., use Inter font, Iconscout icons) and includes tests if applicable. |
45 | 99 |
|
| 100 | +## Issues |
46 | 101 |
|
| 102 | +If you encounter bugs or have feature requests, please open an issue on GitHub. Include details like: |
| 103 | +- Steps to reproduce the issue |
| 104 | +- Browser and version |
| 105 | +- Screenshots, if applicable |
47 | 106 |
|
48 | 107 | ## License |
49 | 108 |
|
50 | | -This project is open-source and available under the [MIT License](LICENSE). |
| 109 | +This project is licensed under the MIT License. See [LICENSE](LICENSE) for details. |
| 110 | + |
| 111 | +## Acknowledgments |
| 112 | + |
| 113 | +- [Iconscout Unicons](https://iconscout.com/unicons) for the icon set |
| 114 | +- [Google Fonts](https://fonts.google.com) for the Inter font |
| 115 | +- Inspired by modern note-taking apps like Notion and Google Keep |
| 116 | + |
| 117 | +## Contact |
| 118 | + |
| 119 | +For questions or feedback, reach out via [GitHub Issues ](https://github.com/your-username/notes-app/issues) or [[email protected]](mailto:[email protected]). |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +Last updated: April 26, 2025 |
0 commit comments