• Code Complete Logo
  • ChallengesPro

    logoCode Complete

    Explore

    Challenges
    Pro
    FAQ

    About

    Privacy Policy
    Terms

    Community

    Youtube
    Discord

    Contact us at [email protected]

    Copyright © 2025 CODE COMPLETE PTY LTD

    Thumbnail for Note Taking App design
    Pro

    2 - Intermediate

    Note Taking App

    Full-feature notes app with a bold neo-brutalist design

    Download DesignSubmit Solution
    📝 Overview
    Build Notely, a responsive and visually striking Note Taking App in a neo-brutalist style, perfect for organizing your thoughts and ideas. 📝✨ This Pro-level challenge focuses on creating a multi-page app with: • A homepage grid displaying notes with titles, text, and Edit/Delete buttons. • Interactive modals for adding, editing, deleting, and reading notes. • Seamless user experience on both desktop and mobile devices. You’ll enhance your front-end skills by working on layouts, modals, and responsive design, while mastering state management and user interactions. 🚀
    🎓 Learnings
    • 🔁 Structuring multi-page apps with reusable components.
    • 🎨 Creating visually distinct neo-brutalist UI elements.
    • 📱 Designing responsive layouts for both desktop and mobile.
    • 💾 Managing state for adding, editing, and deleting notes.
    • 🎛️ Working with modals to handle user interactions efficiently.
    ✅ Project Checklist

      Homepage displays a grid of note cards, each with a title, text (clamped to 6 lines), and Edit/Delete buttons in the top-right corner.

      Clicking the Add button in the top-right corner opens the Add Note modal.

      Add Note modal includes title and description fields, plus Cancel and Save buttons.

      Clicking Cancel in the Add Note modal closes the modal.

      Clicking Save in the Add Note modal closes the modal and adds the new note to the homepage grid.

      Edit button on a note opens the Edit Note modal with pre-filled title and description fields.

      Clicking Save in the Edit Note modal closes the modal and updates the note's title and description.

      Clicking the Delete button on a note opens the Delete Confirmation dialog with a warning, title, and Cancel/Delete buttons.

      Clicking Cancel in the Delete Confirmation dialog closes it without deleting the note.

      Clicking Delete in the Delete Confirmation dialog removes the note and closes the dialog.

      Clicking on a note opens the Read Note modal showing the title (top-left), description (center), and Edit, Delete, and Close buttons.

      Clicking Edit in the Read Note modal opens the Edit modal; Delete opens the Delete Confirmation dialog.

      The app is fully responsive for desktop and mobile screens.

    🎓 Learnings
    • 🔁 Structuring multi-page apps with reusable components.
    • 🎨 Creating visually distinct neo-brutalist UI elements.
    • 📱 Designing responsive layouts for both desktop and mobile.
    • 💾 Managing state for adding, editing, and deleting notes.
    • 🎛️ Working with modals to handle user interactions efficiently.
    🌟 Bonus Features

      Add a dark mode toggle for the application.

      Implement a search bar to filter notes by title or text.

      Support markdown formatting or include a WYSIWYG editor for note descriptions.

      Save notes persistently using local storage or connect the app to a database.

      Enable note sharing via a unique URL using the note's ID.

      Add validation to the add/edit note forms with error messages

    🛠️ Instructions
    1. Click on the 'Download Design' button to get the .fig file.
    2. Upload the .fig file to your Figma account using these steps. You can now open the design and see what you have to make.
    3. Export assets from Figma by pressing Ctrl+Shift+E (or Cmd+Shift+E on Mac) while nothing is selected and then clicking the 'Export' button that shows up.
    4. Implement the design using your preferred language or framework (aim for pixel-perfect accuracy).
    5. Deploy your solution for free using GitHub Pages, Netlify, or Vercel.
    6. Submit your solution link here and try to get a perfect score!
    🔎 Check out the FAQ page for any questions regarding challenges and solutions.
    👋 Sign up to submit your solution!