MyNotes is a comprehensive web application built with Django that allows users to create, manage, and organize personal notes. The application provides a secure environment for users to store important information, categorize notes, and even archive sensitive content behind PIN protection.
- User Authentication: Secure registration and login system
- Dashboard: Intuitive interface to manage all your notes
- Note Categories: Organize notes into categories (Important, Tasks, Study, Personal)
- Archiving System: PIN-protected archive for sensitive notes
- Profile Management: Customize your profile with images and personal information
- Responsive Design: Works seamlessly on desktop and mobile devices
- Backend: Django 5.2
- Frontend: HTML5, CSS3, JavaScript
- Styling: Bootstrap 5
- Form Handling: Django Widget Tweaks
- Database: SQLite (development) / PostgreSQL (production)
- Authentication: Django's built-in authentication system
- Clone the repository:
git clone https://github.com/yourusername/mynotes.git
cd mynotes- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install the required packages:
pip install -r requirements.txt- Run migrations:
python manage.py migrate- Create a superuser (admin):
python manage.py createsuperuser- Start the development server:
python manage.py runserver- Access the application at http://127.0.0.1:8000/
mynotes_project/
├── manage.py
├── mynotes_project/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── notes/
│ ├── migrations/
│ ├── static/
│ ├── templates/
│ │ ├── notes/
│ │ │ ├── add_note.html
│ │ │ ├── archive.html
│ │ │ ├── dashboard.html
│ │ │ └── ...
│ │ └── registration/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── static/
├── media/
├── templates/
└── requirements.txt
- Registration/Login: Users start by creating an account or logging in
- Dashboard: Main interface for viewing and managing notes
- Note Creation: Users can create notes with titles, content, categories, and optional links
- Note Management: Edit, delete, or change categories of existing notes
- Archiving: Move sensitive notes to a PIN-protected archive
- Profile Management: Update profile information and profile picture
- Password hashing using Django's authentication system
- PIN-protected archive for sensitive notes
- CSRF protection for all forms
- Session management for secure user sessions
- Note sharing functionality
- Rich text editor for note content
- Mobile application
- Dark mode support
- Export/import notes functionality
- Email notifications and reminders
This project is licensed under the MIT License - see the LICENSE file for details.
- Your Name - GitHub Profile
- Django Documentation
- Bootstrap Team
- All open-source contributors whose libraries made this project possible
Feel free to contribute to this project by submitting issues or pull requests!