A clean, responsive, and full-featured note-taking application built with the MERN stack (MongoDB, Express, React, Node.js). Includes dark/light themes and is designed for a seamless user experience without requiring user authentication.
- Full CRUD Functionality: Create, Read, Update, and Delete notes.
- Modern UI: Clean and intuitive interface for managing notes.
- Theming: Switch between a "Coffee" light theme and a cohesive dark theme. Your preference is saved in local storage.
- Responsive Design: Looks great on desktops, tablets, and mobile devices.
- Toast Notifications: User-friendly, non-blocking notifications for actions like saving, deleting, or validation errors.
- No Login Required: Anonymous and immediate access to note-taking.
- Client-Side Routing: Fast navigation between pages handled by React Router.
- Custom Fonts & Icons: Uses the self-hosted 'Poppins' font and
react-iconsfor a polished look.
- Frontend:
- React.js
- Vite (Build Tool)
- React Router
- Axios (for API requests)
- React Toastify
- React Icons
- Backend:
- Node.js
- Express.js
- MongoDB (with Mongoose)
- CORS
- Database:
- MongoDB Atlas (or local MongoDB instance)
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (which includes npm) installed on your machine.
- A MongoDB database connection string (either from a local installation or a free MongoDB Atlas account).
-
Clone the repository:
git clone https://github.com/peddintisonu/Note-App-Mern.git cd Note-App-Mern -
Install Backend Dependencies:
cd backend npm install -
Create a
.envfile in thebackenddirectory: Create a new file named.envand add your environment variables. Use the.env.exampleas a guide.PORT=5000 MONGO_URI=your_mongodb_connection_string_here -
Install Frontend Dependencies:
cd ../frontend npm install -
Create a
.envfile in thefrontenddirectory: This file should point to your local backend server.VITE_API_URL=http://localhost:5000/api/notes/
You will need two separate terminals to run both the backend and frontend servers simultaneously.
-
Run the Backend Server (from the
backenddirectory):npm run dev
The server should now be running on
http://localhost:5000. -
Run the Frontend Server (from the
frontenddirectory):npm run dev
The application will be accessible at
http://localhost:5173(or whatever port Vite chooses).