A comprehensive, secure note-taking application that enables team collaboration with advanced features for creating, editing, and tracking notes across multiple users.
- Member-Based Organization: Organize notes by team members for better collaboration
- Real-Time Note Management: Create, edit, and delete notes with immediate updates
- Precise Timestamping: Every note is tracked with exact creation and modification times
- Password-Protected Notes: Access control ensures users can only view their authorized notes
- JWT Authentication: Secure API requests with token-based authentication
- Comprehensive Audit Logging: Track all note modifications with detailed audit trails
- Responsive UI: Clean, modern interface built with Tailwind CSS
- Real-Time Search: Instantly filter notes as you type
- Accessibility Features: Text-to-speech functionality for note content
- Persistent Sessions: Stay logged in across browser sessions
- Frontend: Next.js (App Router), React, TypeScript, Tailwind CSS
- Backend: JSON Server (mock database)
- API Communication: tRPC for type-safe API calls
- Authentication: JWT-based authentication
- State Management: React Context and Hooks
npm installjson-server --watch db.json --port 3001Available endpoints:
- http://localhost:3001/members
- http://localhost:3001/notes
- http://localhost:3001/audit_log (Tracks note updates)
npm run devThis will start the Next.js application at http://localhost:3000/
The application requires authentication to create, edit, or delete notes.
curl -X POST http://localhost:3000/api/trpc/auth.register \
-H "Content-Type: application/json" \
--data-raw '{"username":"testuser","password":"securepassword"}'curl -X POST http://localhost:3000/api/trpc/auth.login \
-H "Content-Type: application/json" \
--data-raw '{"username":"testuser","password":"securepassword"}'localStorage.setItem('token', 'your_generated_jwt_token_here');- Note IDs are managed to prevent conflicts between different users
- JWT tokens are stored in localStorage for session persistence
- Audit logs capture all note modifications and are stored in the
db.jsonfile