Sammeeey / mern-todo

fullstack todo app

Home Page:https://mern-todo-client-2mw0.onrender.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fullstack TodoList📝 (Frontend + Backend)

BACKEND

API

Todolist

  • create
  • get/display
  • check off
  • (change task)
  • delete

FRONTEND

Structure

  • TodoList🧠
    • list todos
    • handle state
      • check off
      • delete
      • (edit)
    • hold data/state - format: list of todos
  • Todo🎨
    • format: object (uuid, task(string), done(boolean))
  • NewTodoForm🎨
    • create new todo

Project Structure

my-mern-app/
|-- backend/
|   |-- node_modules/   // Backend-specific dependencies
|   |-- src/            // Backend source code
|   |-- package.json    // Backend dependencies and scripts
|   |-- ...
|
|-- frontend/
|   |-- node_modules/   // Frontend-specific dependencies
|   |-- public/         // Public assets (e.g., HTML, images)
|   |-- src/            // Frontend source code
|   |-- package.json    // Frontend dependencies and scripts
|   |-- ...
|
|-- node_modules/       // Shared dependencies (if any)
|-- .git/               // Git repository configuration
|-- .gitignore          // Git ignore file
|-- package.json        // Project-level dependencies and scripts
|-- README.md           // Project documentation
|-- ...

Resources

todo list insipred by WebDev Bootcamp (paid)

backend setup inspired by MERN stack tutorial

deployment

takeaways

  • forget about error handling initially! (takes a ton of time while making code unreadable)
  • good practice to do frontend validation (eventually) but also takes a lot of time and redundant work in the beginning (defining additional schema on frontend - e.g. using react-hook-form)

TODO

nice to have

  • store permanently
    • store in db
  • collection of todolists
    • navigation
      • different routes for different todo lists
  • personalized todo lists
    • user login/authentication/accounts

About

fullstack todo app

https://mern-todo-client-2mw0.onrender.com


Languages

Language:JavaScript 81.1%Language:CSS 15.7%Language:HTML 3.1%