- Overview
- Features
- Technologies Used
- Installation
- Usage
- Authentication
- CRUD Operations
- Deployment
- Contributing
- License
- Contact
iNotebook is a full-stack cloud-based note-taking web application. Users can securely create, read, update, and delete their personal notes from anywhere. Built with a focus on simplicity and efficiency, iNotebook leverages modern technologies to provide a seamless experience.
For the latest updates and releases, visit Releases.
- User Authentication: Secure login and registration using JWT.
- CRUD Functionality: Create, read, update, and delete notes easily.
- Responsive Design: Works on various devices with a mobile-friendly interface.
- Real-time Updates: Changes reflect immediately for a better user experience.
- Search Functionality: Quickly find notes with an efficient search bar.
- Cloud Storage: Access your notes from anywhere with cloud integration.
- Frontend: React.js, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- Deployment: Netlify for frontend, custom server for backend
To set up iNotebook on your local machine, follow these steps:
-
Clone the Repository:
git clone https://github.com/safnihsn/inotebook.git
-
Navigate to the Project Directory:
cd inotebook -
Install Dependencies:
- For the frontend:
cd client npm install - For the backend:
cd server npm install
- For the frontend:
-
Set Up Environment Variables: Create a
.envfile in theserverdirectory and add your MongoDB URI and JWT secret. -
Run the Application:
- Start the backend server:
cd server npm start - Start the frontend:
cd client npm start
- Start the backend server:
Now, you can access the application at http://localhost:3000.
Once the application is running, navigate to the frontend URL. You will see a login page. If you are a new user, you can register by clicking the "Sign Up" button. After logging in, you can create new notes, view existing ones, edit, or delete them.
- Click on the "New Note" button.
- Fill in the title and content.
- Click "Save" to create the note.
- Click on the note you want to edit.
- Make your changes.
- Click "Update" to save the changes.
- Click on the note you wish to delete.
- Click the "Delete" button.
- Confirm the deletion.
iNotebook uses JWT for user authentication. When a user logs in, a token is generated and stored in local storage. This token is sent with every request to secure the API endpoints.
To log in, enter your credentials on the login page. If the credentials are correct, you will receive a token that allows access to your notes.
New users can register by filling out the registration form. Once registered, you can log in using your new credentials.
iNotebook supports full CRUD operations for notes. This means you can create new notes, read existing notes, update them, and delete them as needed. Each operation is straightforward and user-friendly.
Creating a note involves filling out a form with a title and content. Once saved, the note will appear in your list.
All your notes are displayed in a list format. You can click on any note to view its details.
Editing a note is as simple as clicking on it, making changes, and saving.
You can delete any note by clicking the delete button associated with it. A confirmation prompt ensures you do not accidentally delete important notes.
iNotebook is deployed using Netlify for the frontend and a custom server for the backend.
- Push your code to GitHub.
- Connect your GitHub repository to Netlify.
- Configure the build settings:
- Build Command:
npm run build - Publish Directory:
client/build
- Build Command:
- Click "Deploy Site".
For the backend, you can use services like Heroku or DigitalOcean. Make sure to configure your environment variables accordingly.
We welcome contributions to iNotebook. If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
- Make your changes and commit them:
git commit -m "Add your message here" - Push to the branch:
git push origin feature/YourFeature
- Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, please contact:
- Author: Your Name
- Email: your.email@example.com
For the latest updates and releases, visit Releases.