Skip to content

๐Ÿ“ React sticky notes app with automatic LocalStorage persistence. Create, edit, search, and organize notes that save automatically using React lifecycle methods.

Notifications You must be signed in to change notification settings

CatYoung018/Super-sticky-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ Super Sticky Notes

A React-based digital sticky notes application that helps you create, edit, search, and organize your thoughts with automatic save functionality.

JavaScript HTML CSS React

๐ŸŒ View Live App | ๐Ÿ’ป CodeSandbox

๐Ÿ“ธ Preview

Super Sticky Notes App


๐Ÿ“‹ Table of Contents


๐ŸŽฏ About

Super Sticky Notes is an interactive web application built with React that allows users to create and manage digital sticky notes directly in their browser. Unlike traditional paper notes, this app provides a streamlined, organized approach to managing daily tasks, reminders, and quick thoughtsโ€”with the added benefit of automatic persistence so your notes are never lost!

Say goodbye to scattered paper notes and hello to a digital workspace that remembers everything for you, even after closing your browser.


โœจ Key Features

๐Ÿ“Œ Note Management

  • Create Notes: Quickly generate new sticky notes with just a click
  • Edit Content: Dynamically modify note text whenever inspiration strikes
  • Delete Notes: Remove completed or outdated notes to keep your workspace clean
  • Search Function: Instantly find specific notes, no matter how many you have

๐Ÿ’พ Automatic Save Functionality

  • Persistent Storage: All notes are automatically saved to your browser's LocalStorage
  • No Manual Saving Required: Every change is saved instantly
  • Session Persistence: Your notes remain intact even after closing and reopening your browser
  • Zero Data Loss: Never worry about losing your important information

๐ŸŽจ User Experience

  • Clean, intuitive interface
  • Fast and responsive
  • Visual feedback for all actions
  • Organized workspace that adapts to your needs

โš›๏ธ React Concepts & Lifecycle Methods

This project demonstrates proficiency in React development and key lifecycle concepts:

Component Lifecycle Implementation

The app utilizes React lifecycle methods to manage data persistence and component behavior:

  • componentDidMount() - Loads saved notes from LocalStorage when the app first renders

    • Retrieves previously saved notes from browser storage
    • Initializes the component state with existing data
    • Ensures users see their saved notes immediately upon opening the app
  • componentDidUpdate() - Automatically saves notes to LocalStorage whenever changes occur

    • Triggers after any state update (creating, editing, or deleting notes)
    • Persists the current state to LocalStorage
    • Ensures data is never lost, even without manual saving

State Management

  • Component State: Manages all notes in a centralized state object
  • State Updates: Uses setState() for all data modifications
  • Controlled Components: Form inputs are controlled by React state
  • Data Flow: Implements unidirectional data flow following React best practices

React Hooks

  • Modern functional components with hooks
  • useState for managing note data
  • useEffect for lifecycle-like behavior and side effects

๐Ÿ› ๏ธ Technologies Used

Core Technologies

  • React - Component-based UI library
  • JSX - JavaScript XML for declarative UI development
  • JavaScript (ES6+) - Modern JavaScript features including:
    • Arrow functions
    • Destructuring
    • Spread operators
    • Template literals

Data Management

  • LocalStorage API - Browser storage for note persistence
  • React State Management - Component state and props
  • Lifecycle Methods - componentDidMount() and componentDidUpdate()

Development Tools

  • CodeSandbox - Online IDE for rapid development and deployment
  • Netlify - Hosting and deployment platform

๐Ÿ”ง How It Works

Data Persistence Flow

  1. Initial Load (componentDidMount)

    User opens app โ†’ componentDidMount runs โ†’ 
    Retrieves notes from LocalStorage โ†’ 
    Updates component state โ†’ Notes display on screen
    
  2. Creating/Editing/Deleting Notes

    User makes changes โ†’ Component state updates โ†’ 
    componentDidUpdate runs โ†’ Saves to LocalStorage โ†’ 
    Data persists for next session
    
  3. Search Functionality

    User types in search โ†’ State updates with filter โ†’ 
    Display filters notes in real-time โ†’ 
    Shows matching results
    

Technical Implementation

LocalStorage Integration:

  • Notes are stored as JSON strings in the browser's LocalStorage
  • Each save operation updates the stickyNotes key
  • Data persists indefinitely until manually cleared

Component Architecture:

  • Parent component manages all state
  • Child components receive data via props
  • Event handlers passed down for user interactions

๐Ÿš€ Getting Started

View the Live App

Experience Super Sticky Notes immediately:

๐ŸŒ Launch App

Explore the Code

View and fork the project on CodeSandbox:

๐Ÿ’ป View on CodeSandbox

Run Locally

  1. Clone the repository

    git clone https://github.com/CatYoung018/Super-sticky-notes.git
    cd Super-sticky-notes
  2. Install dependencies

    npm install
  3. Start the development server

    npm start
  4. Open your browser

    • Navigate to http://localhost:3000
    • Start creating notes!

Prerequisites:

  • Node.js (v14 or higher)
  • npm or yarn
  • Modern web browser

๐Ÿ“š Learning Outcomes

This project demonstrates proficiency in:

  • React Fundamentals - Components, props, and state
  • React Lifecycle Methods - Managing component lifecycle
  • Browser APIs - LocalStorage for data persistence
  • Event Handling - User interactions and form submissions
  • Conditional Rendering - Dynamic UI based on state
  • Array Methods - Filtering and mapping data
  • ES6+ JavaScript - Modern syntax and features
  • Component Architecture - Organizing React applications

๐Ÿ”ฎ Future Enhancements

Potential improvements for future versions:

  • Reminders and Due Dates - Set deadlines for tasks
  • Drag-and-Drop Reordering - Organize notes visually
  • Color Coding - Categorize notes by color
  • Rich Text Editing - Add formatting options
  • Export Function - Download notes as text/JSON
  • Cloud Sync - Sync across devices
  • Tags and Categories - Better organization
  • Dark Mode - Eye-friendly theme option

๐Ÿค Contributing

Contributions are welcome! If you'd like to improve Super Sticky Notes:

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

Please ensure your code:

  • Follows the existing style
  • Includes comments for complex logic
  • Doesn't break existing functionality
  • Has been tested in a browser

๐Ÿ“ License

This project is open-source and available under the MIT License.


๐Ÿ™ Acknowledgments

  • Skillcrush - This project was developed as part of their comprehensive front-end development curriculum
  • Built with React - Demonstrating modern component-based architecture
  • Deployed on Netlify - Fast and reliable hosting

๐Ÿ“ง Contact

Cat Young


๐Ÿ“ Stay organized, stay productive! โœจ

โญ Star this repo if you find it helpful!

Contact & Credits

  • Contact: Feel free to reach out to me via GitHub with any questions or feedback.
  • Credits: This project was developed as part of the curriculum at Skillcrush, where I gained valuable front-end development skills.

About

๐Ÿ“ React sticky notes app with automatic LocalStorage persistence. Create, edit, search, and organize notes that save automatically using React lifecycle methods.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published