Skip to content

AnshKumar299/Note-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

📝 Note App

A beautifully minimalistic Note-Taking Web Application built using React and Vite, styled with custom CSS. This CRUD-based (Create, Read, Update, Delete) app enables users to create, edit, delete, and download text notes with titles.


🚀 Project Overview

This Note App is designed to help you manage short notes in a clean, fast, and responsive user interface. Whether you're jotting down ideas, tasks, or quick snippets, this app offers a seamless experience with intuitive controls.

Built as a React project bootstrapped with Vite, it features essential React hooks like useState and custom component architecture to deliver a real-time, client-side note-taking tool.


✨ Features

✅ Create Notes

  • Enter a title and text content to create a new note.
  • Notes are appended instantly to the visible list.

✅ Read Notes

  • All created notes are displayed in a scrollable layout.
  • Notes are styled for clarity and aesthetic appeal.

✅ Update Notes

  • Easily edit the content of any note.
  • Toggle between view and edit mode with a single button.

✅ Delete Notes

  • Instantly remove a note from your list.
  • Each note has its own delete button for individual control.

✅ Download Notes

  • Export a note’s content as a .txt file.
  • File downloads locally with just one click.

💻 Technologies Used

Frontend:

  • ⚛️ React – component-based JavaScript library
  • Vite – ultra-fast frontend tooling and dev server
  • 🎨 CSS – for layout, styling, and responsiveness

React Concepts:

  • useState for state management
  • Props and component-driven architecture
  • Conditional rendering for editing and display modes

📂 Folder Structure

Note-App/
├── public/
│   └── assets/                # SVG icons and other static files
├── src/
│   ├── components/
│   │   └── EditableNote.jsx   # Editable Note component
│   ├── App.jsx                # Main App component
│   ├── index.css              # Global CSS styles
│   ├── EditableNote.css       # Component-specific styles
│   └── main.jsx               # React DOM rendering
├── .gitignore
├── index.html
├── package.json
├── README.md                 # You're reading it!
└── vite.config.js

📸 UI Preview (Optional)

You can include screenshots here if available.


🛠️ Installation & Running Locally

To run this app locally on your system:

1. Clone the Repository

git clone https://github.com/your-username/note-app.git
cd note-app

2. Install Dependencies

npm install

3. Start the Development Server

npm run dev

Your app will be available at: http://localhost:5173


🧠 Core Components

1. App.jsx

The central logic for:

  • Managing state for all notes
  • Adding new notes
  • Passing props to child components

2. EditableNote.jsx

Handles:

  • Display and editing of individual notes
  • Save and cancel edit functionality
  • Download and delete actions

3. EditableNote.css and index.css

Style rules for both global layout and specific components. Uses:

  • Flexbox and Grid for layout
  • Media queries for mobile responsiveness
  • Custom themes and hover effects

📱 Responsive Design

The app is responsive and mobile-friendly:

  • For screens ≤ 500px width, layout switches to a vertical scrollable format.
  • Buttons and text areas adapt size and spacing for comfortable mobile use.

🎯 Use Cases

This app can be used as a:

  • Quick notes manager during work or study
  • Idea board for creative writing or journaling
  • Task list manager (lightweight TODO app)
  • Reference tool for learning React CRUD operations

📌 Future Improvements

Although the app works well, here are a few future enhancements that can be added:

  • 🌐 LocalStorage/IndexedDB support for persistence
  • 📦 Export all notes as a ZIP or single file
  • 🔍 Search/filter functionality
  • 💾 Backend support (e.g., Firebase or Express)
  • 🌓 Dark/light theme toggle
  • 🗂️ Tagging or categorization of notes

🤝 Contributing

Contributions, suggestions, and improvements are welcome!

If you want to contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-xyz)
  3. Commit your changes (git commit -m 'Added feature xyz')
  4. Push to the branch (git push origin feature-xyz)
  5. Open a Pull Request

📄 License

MIT License

MIT License

Copyright (c) 2025 Ansh

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

🙌 Acknowledgements

Thanks to:

  • The React team for creating an amazing UI library
  • Vite for a blazing fast development experience
  • Everyone who inspired and supported this project

🔗 Connect

If you'd like to connect, collaborate, or report bugs, feel free to open an issue or send a message.


Enjoy note-taking with your very own React-based Note App! 🚀

About

A note making app using basics of react

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published