Skip to content

0xprasanth/notesapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Notes App – Smart Task Management Platform

Notes App Landing Page

A modern full-stack task management application that helps users organize their lives with deadlines and automated email reminders.

This project includes:

  • 🌐 Frontend – Built with Next.js (App Router), TypeScript, Tailwind CSS
  • ⚙️ Backend API – Node.js, Express 5, TypeScript, MongoDB
  • 📧 Automated Email Reminder System (24 hours before deadline)

✨ Features

🔐 Authentication

  • User registration & login
  • JWT-based secure authentication
  • Protected task routes

✅ Task Management

  • Create tasks with title, description & deadline
  • Edit & update tasks
  • Mark tasks as completed
  • Delete tasks
  • Filter tasks (completed / incomplete)

⏰ Smart Email Reminders

  • Automatic reminder scheduling when a task is created
  • Reminder sent 24 hours before deadline (configurable)
  • Cron job runs every 15 minutes
  • Reminder auto-cleanup when task is completed

🛡 Security & Reliability

  • Password hashing with bcrypt
  • Helmet.js security headers
  • Input validation (express-validator + Zod)
  • Structured error handling
  • CORS configuration
  • Production-ready architecture

🏗️ Architecture Overview

notesapp/
├── backend/        # Node.js + Express + MongoDB API
└── frontend/       # Next.js 15 App Router (Deployed on Vercel)

Frontend

Tech Stack

  • Next.js (App Router)
  • TypeScript
  • Tailwind CSS
  • Zustand (state management)
  • Axios (API calls)
  • Deployed on Vercel

UI Features

  • Clean hero landing page
  • Login & registration flow
  • Task dashboard
  • Deadline tracking
  • Responsive layout

Frontend Setup

cd frontend
pnpm install
pnpm dev

Frontend Environment Variables (frontend/.env)

NEXT_PUBLIC_API_URL=http://localhost:3001/api

Backend – Task Management API

A robust task management backend built with Node.js, Express, TypeScript, and MongoDB.


🚀 Backend Features

  • JWT Authentication
  • CRUD Task Management
  • Automatic Reminder Scheduling
  • Cron-based Email Processing
  • Secure Password Hashing
  • Modular Architecture
  • Production-ready structure

🔧 Backend Setup

Refer backend docs README.md

🛡 Security Features

  • bcrypt password hashing
  • JWT authentication
  • Helmet security headers
  • CORS configuration
  • Input validation
  • Structured error responses

Reminder System Flow

flowchart LR
    R([start])
    --> A[Task is created]
    --> B[Reminder is scheduled]
    --> C[Cron runs every 15 minutes]
    --> D[Email is sent 24 hours before deadline]
    --> E[Status is updated]
    --> F[If task is completed → reminder is removed]
    --> G([END])

Loading

ScreenShots

Landing Page

Landing Page

Authentication

Authentication Page

Task Dashboard

Task Dashboard

Create / Edit Task

Create Task Form

License

This repository is licensed under MIT

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors