NoteTaker is a web-based Note-taking application built using Django Rest Framework (DRF) with JSON Web Token (JWT) authentication. The application allows users to securely manage their personal notes while providing a seamless and authenticated experience
We welcome contributions to enhance and improve our project! If you would like to contribute, please follow these guidelines:
If you encounter any issues or bugs with the project, please feel free to open an issue on our GitHub repository. When opening an issue, please include as many details as possible, including steps to reproduce the issue and the expected behavior.
If you have a feature request or an idea to improve the project, please open an issue on our GitHub repository with the "Feature Request" label. Describe the feature you would like to see and how it would benefit the project.
If you want to contribute code changes or bug fixes, you can do so by creating a pull request. Follow these steps:
- Fork the repository to your GitHub account.
- Create a new branch from the
main
branch for your changes. - Make your changes and commit them with descriptive commit messages.
- Push your branch to your forked repository.
- Open a pull request on our GitHub repository from your branch to our
main
branch. - Your pull request will be reviewed, and any necessary feedback will be provided.
Please ensure your code follows our coding style and includes appropriate tests.
We expect all contributors to follow our Code of Conduct. Be respectful and considerate of others when participating in our project.
If you need any assistance or have questions about contributing, feel free to reach out to us through email/contact details or open an issue on our GitHub repository.
Contributors:
- Your Name (@Ravikalakoti)
Thank you for your interest in contributing to our project!
1-User Registration and Login: Users can easily register an account with their email and password. The registration process is quick and straightforward, ensuring a hassle-free onboarding experience. Once registered, users can log in securely using their credentials.
2-JWT Token Generation: Upon successful login, the application generates a JWT token that encapsulates user information and acts as a secure token for subsequent API requests. This token provides a stateless authentication mechanism, eliminating the need for traditional session-based authentication.
3-Note Creation and Management: Authenticated users have the ability to create, retrieve, update, and delete their notes. Users can create notes with titles and content, making it convenient to organize and categorize their thoughts and information.
4-Token Refresh Mechanism: The application incorporates a token refresh mechanism that enables users to obtain a new JWT token without the need for re-entering their login credentials. This feature enhances user experience and provides continuous access to the application's features.
5-Robust API Endpoints: NoteTaker's RESTful API provides well-defined endpoints for user registration, login, note creation, retrieval, updating, and deletion. Each API endpoint adheres to REST principles, promoting a clear and standardized way of interacting with the application.
Development Stack:
Authentication: JSON Web Token (JWT)
Database: SQLite (for development, can be switched to other databases like PostgreSQL for production)
Frontend (optional): NoteTaker's API can be integrated with various frontend technologies like React, Angular, or Vue.js to create a full-fledged web application.