Welcome to the Note Taking App, a full-stack MERN (MongoDB, Express.js, React.js, Node.js) application designed to help you organize and manage your notes seamlessly. This project incorporates Bootstrap CSS for styling, providing a clean and responsive user interface. Utilizing React Redux for state management and JWT tokens for user authentication & session management, the Note-Taking App offers a secure and feature-rich note-taking experience.
The Note Taking App is deployed and accessible online. You can visit the live application by following this link.
- Users can sign up by providing their email address and password.
- During signup, users have the option to upload their profile pictures.
- Existing users can log in using their email and password.
- Authentication tokens (JWT) are generated to manage user sessions securely.
- Upon successful authentication, users are redirected to their "MyNotes" page (
/myNotes
). - Users can view all their existing notes.
- Users can create a new note by accessing the "Create Note" page (
/myNotes/createNote
). - New notes are added to their collection upon creation.
- Users can edit the content of their existing notes by accessing the "Edit Note" page (
/note/{noteId}
). - Changes are saved and reflected in real time.
- Users can delete notes they no longer need, providing a streamlined note management experience.
- Users can view their profile information, including email and uploaded profile picture.
- The app includes a user-friendly profile editing section where users can update their information and change their profile picture (
/profile
).
-
Get All Notes:
- Endpoint:
/myNotes
- Description: The user can see all of his notes.
- Endpoint:
-
Create Note:
- Endpoint:
/myNotes/createNote
- Description: The user can create a note here.
- Endpoint:
-
Edit Note:
- Endpoint:
/note/{noteId}
- Description: The user can edit his/her notes.
- Endpoint:
-
User Profile:
- Endpoint:
/profile
- Description: The user can access his/her profile here.
- Endpoint:
- Frontend: React.js, Bootstrap CSS, Redux (React Redux)
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT Tokens
To run the Note Taking App locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Div16s/NOTE_TAKING_APP
-
Navigate to the project directory:
cd note-taking-app
-
Install dependencies:
npm install
-
Set up a MongoDB database and update the connection string in the server configuration.
-
Start the server:
node server.js
-
Start the client:
npm start
Feel free to contribute to the project by submitting bug reports, feature requests, or pull requests. Let's work together to make the Note-Taking App a powerful tool for efficient note organization.