Skip to content

MyDiary is a Django-based personal diary web app with secure login, daily entries, mood tracking with emojis, search and edit features, and SQLite storage. Users can format text, view past entries, and manage emotions in a clean UI.

License

Notifications You must be signed in to change notification settings

ishar06/MyDiary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 MyDiary - Personal Diary Web App

MyDiary is a secure, web-based personal diary built with Django. It allows users to write, organize, and revisit their thoughts, emotions, and daily experiences through a rich-text editor. Users can register, log in, and manage their entries privately using features similar to Google Docs or Microsoft Word, with mood tracking and emoji-based filters.


📌 Features

  • 🔐 Secure User Authentication (Sign Up, Login, Logout)
  • 🖋️ Rich Text Editor (Bold, Italic, Underline, Lists, Fonts, Images, etc.)
  • 😊 Mood selection with emojis
  • 📅 Auto-filled editable titles with the current date
  • 🔍 Search by date, mood, or keywords
  • 🗂️ Sidebar navigation of entries with mood icons
  • 📱 Responsive design using Bootstrap 5
  • ✅ CSRF protection and input validation

💻 Tech Stack

  • Frontend: HTML, CSS, Bootstrap 5, CKEditor
  • Backend: Django (Python)
  • Database: SQLite
  • Other Tools: Django messages framework, CSRF Middleware, Django forms

PROJECT STRUCTURE

MyDiary/
│
├── MyDiary/                  # Django project root
│   ├── CoreApp/              # Core application logic
│   ├── Diary/                # Diary-related views and models
│   ├── templates/            # HTML templates
│   ├── static/               # Static files (CSS, JS, images)
│   ├── manage.py             # Django management script
│   ├── settings.py           # Project settings
│   └── urls.py               # URL routing
│
├── requirements.txt          # Project dependencies
├── README.md                 # Documentation and setup instructions
└── LICENSE                   # MIT License

🛠️ Setup Instructions (For Beginners - Windows & Mac)

✅ Step 1: Install Python

✅ Step 2: Install Git (Optional but useful)

✅ Step 3: Clone the Project or Download ZIP

git clone https://github.com/ishar06/MyDiary
cd MyDiary

Or download the ZIP and extract it.

✅ Step 4: Set Up Virtual Environment

python -m venv env

-- Windows

env\Scripts\activate

-- Mac/Linux

source env/bin/activate

✅ Step 5: Install Dependencies

pip install -r requirements.txt

If requirements.txt doesn't exist yet, install manually:

pip install asgiref sqlparse
pip install django
pip install django-jazzmin
pip install django-ckeditor
pip install Pillow
cd MyDiary

✅ Step 6: Set Up the Database

python manage.py makemigrations
python manage.py migrate

✅ Step 7: Run the Django Server

python manage.py runserver

Go to http://127.0.0.1:8000 in your browser.

✅ Step 8: Create Superuser (Optional for Admin Panel)

python manage.py createsuperuser

👨‍💻 About the Developer

Hi! I'm Ishardeep Singh, a computer science undergraduate at Chitkara University, specializing in AI. I'm passionate about building meaningful digital experiences, and I love blending creativity with code.

Skills:

  • Programming Languages: Python, C, C++, JavaScript
  • Technologies & Frameworks: OpenCV, MediaPipe, Flask, Django, React (beginner)
  • Areas of Interest: Computer Vision, AI/ML, Full-Stack Web Development, Game Development
  • Soft Skills: Public Speaking, Team Leadership, Project Management, Problem Solving

📫 Contact & Links

🔍 I am actively seeking opportunities to contribute to exciting projects, internships, and roles that align with my passion for technology and innovation. Let's connect!


😅 Challenges Faced

  • Configuring and customizing CKEditor in Django forms
  • Designing an intuitive sidebar with emoji filters
  • Managing authenticated views and entry ownership securely
  • Making the rich text editor mobile responsive

✨ Experience Gained

  • Learned how to structure a Django app with templates, static files, and models
  • Understood how to use third-party editors inside Django forms
  • Improved frontend skills using Bootstrap
  • Gained hands-on experience with session management, CSRF protection, and validation

📃 License

This project is licensed under the MIT License.

You are free to use, modify, and distribute this software for personal or commercial purposes, as long as the original license and copyright notice are included.

For full license details, refer to the LICENSE file in the repository.


Happy journaling! 🚀

About

MyDiary is a Django-based personal diary web app with secure login, daily entries, mood tracking with emojis, search and edit features, and SQLite storage. Users can format text, view past entries, and manage emotions in a clean UI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published