A modern, responsive React frontend for the HD Notes application that integrates with a Spring Boot backend. This application provides a beautiful user interface for OTP-based authentication and notes management.
π Backend Live: noteapp-0eu4.onrender.com π Frontend Live: note-front-tau.vercel.app
- π± Responsive Design: Mobile-first, works on all devices
- π OTP + JWT Authentication: Secure login using OTP sent to email
- π Notes Management: Create, view, and delete notes
- π¨ Modern UI: Clean and minimal design
- π Protected Routes: Redirects automatically if not authenticated
Includes:
- Sign Up: Register with email
- Send OTP & Sign In: Login with OTP (JWT issued after verification)
- Dashboard: Manage notes (create, view, delete)
- Node.js (v14 or higher)
- npm or yarn
- Spring Boot backend running locally (
http://localhost:8080) or via deployed backend
-
Clone repo
git clone https://github.com/Anuragreat/noteapp-frontend.git cd noteapp-frontend -
Install dependencies
npm install
-
Start development server
npm start
-
Open in browser
http://localhost:3000
src/
βββ components/
β βββ SignUp.js # User registration
β βββ SignIn.js # OTP-based login
β βββ Dashboard.js # Notes dashboard
β βββ *.css # Component styles
βββ contexts/
β βββ AuthContext.js # Handles JWT auth state
βββ App.js # Main app component
βββ index.js # Entry point
This frontend works with your Spring Boot backend APIs:
POST /api/auth/signupβ Register new userPOST /api/auth/send-otp?email=user@mail.comβ Send OTPPOST /api/auth/loginβ Login with email + OTP β returns JWT
POST /api/notes/addβ Create a new note (requires JWT in headers)GET /api/notes/all/{userId}β Fetch all notesDELETE /api/notes/delete/{id}β Delete a note
{
"email": "john@example.com",
"otp": "123456"
}{
"content": "Your note content here"
}- CSS3 with Flexbox & Grid
- Responsive design for both mobile & desktop
- Smooth animations and transitions
β Chrome, β Firefox, β Safari, β Edge (latest versions)
-
Backend not connecting β Check backend is running at port
8080or updateproxyinpackage.json -
Invalid JWT β Clear localStorage and re-login
-
Port conflict β Run with custom port:
PORT=3001 npm start


