shifat0 / task-manager-excel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Task-Management-System

The MERN stack Task Management System is a powerful yet user-friendly application designed to help individuals and teams efficiently manage their tasks and stay organized. It combines the robustness of the MERN stack, which includes MongoDB, Express.js, React, and Node.js, to deliver a seamless user experience. It is responsive with user authentication.

User-side features

  • Signup
  • Login
  • Logout
  • Add tasks
  • View tasks
  • Update tasks
  • Delete tasks

Developer-side features

  • Toasts for success and error messages
  • Form validations in frontend and backend
  • Fully Responsive Navbar
  • Token based Authentication
  • Use of 404 page for wrong urls
  • Relevant redirects
  • Global user state using Redux
  • Custom Loaders
  • Use of layout component for pages
  • Use of theme colors
  • No external CSS files needed (made using Tailwind CSS)
  • Usage of Tooltips
  • Dynamic document titles
  • Redirect to previous page after login
  • Use of various React hooks
  • Custom hook also used (useFetch)
  • Routes protection
  • Middleware for verifying the user in backend
  • Use of different HTTP status codes for sending responses
  • Standard pratices followed

Tools and Technologies

  • HTML
  • CSS
  • Javascript
  • Tailwind CSS
  • Node.js
  • Express.js
  • React
  • Redux
  • Mongodb

Prerequisites

  • Node.js must be installed on the system.
  • You should have a MongoDB database.
  • You should have a code editor (preferred: VS Code)

Installation and Setup

  1. Install all the dependencies on frontend and backend folder

    npm install
  2. Create a file named ".env" inside the backend folder. Add data from .env.example file and substitute your credentials there.

  3. Start the application from directory frontend

    npm start
  4. Go to http://localhost:3000

Backend API

- POST     /api/auth/signup
- POST     /api/auth/login
- GET      /api/tasks
- GET      /api/tasks/:taskId
- POST     /api/tasks
- PUT      /api/tasks/:taskId
- DELETE   /api/tasks/:taskId
- GET      /api/profile

Frontend pages

- /                 Home Screen (Public home page for guests and private dashboard (tasks) for logged-in users)
- /signup           Signup page
- /login            Login page
- /tasks/add        Add new task
- /tasks/:taskId    Edit a task

About


Languages

Language:JavaScript 97.9%Language:HTML 1.8%Language:CSS 0.3%