This is the frontend for the Mern Thinkboard project, built with React, TypeScript, and Vite.
- Create, view, update, and delete notes
- Responsive and modern UI
- Theming support (light/dark mode)
- Rate limiting UI feedback
- Axios-based API integration
- Modular component structure
frontend/
├── public/ # Static assets
├── src/
│ ├── assets/ # Images and static files
│ ├── components/ # Reusable UI components
│ ├── config/ # Axios and other configs
│ ├── contexts/ # React context providers
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Page components (routes)
│ ├── types/ # TypeScript types
│ └── utils/ # Utility functions
├── index.html # Main HTML file
├── package.json # Project metadata and scripts
├── tsconfig*.json # TypeScript configuration
├── vite.config.ts # Vite configuration
└── ...
- Node.js (v18 or higher recommended)
- npm or yarn
npm install
# or
yarn installnpm run dev
# or
yarn devThe app will be available at http://localhost:5173 by default.
npm run build
# or
yarn buildnpm run lint
# or
yarn lintsrc/components/– Navbar, NoteCard, Notes, ThemeToggler, and more reusable UI componentssrc/pages/– Home, CreateNote, NoteDetails pagessrc/hooks/– Custom hooks for API calls (CRUD operations)src/contexts/theme/– Theme context and providersrc/utils/– Utility functions (date formatting, confirmation alerts, etc.)
- API Base URL: Set in
src/config/axios.ts - Theming: Managed via
src/contexts/theme/ThemeProvider.tsx
MIT