Skip to content

l0hith1725/daily-journal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

📝 Daily Journal - Secure Personal Journaling App

A privacy-focused daily journaling website built with the MERN stack (MongoDB, Express.js, React, Node.js). Your thoughts, your data, your privacy - all protected with military-grade encryption.

🎯 What This App Does

Daily Journal is a secure digital diary where you can:

  • ✍️ Write daily journal entries with complete privacy
  • 🔐 Store your thoughts with end-to-end encryption - only you can read them
  • 📅 Organize entries by date and search through your journal history
  • 🎭 Track your mood and emotions over time
  • 🔒 Keep your personal data safe from prying eyes

🛡️ Why Privacy Matters

Unlike other journaling apps that can read your entries, this app uses AES-256-GCM encryption to protect your data:

  • Your journal entries are encrypted before being stored in the database
  • Even if someone gains access to the database, they can't read your entries
  • Only you have the key to decrypt and read your own journals
  • Not even the developers can access your private thoughts - we literally cannot read your data
  • Zero-knowledge architecture - your data is meaningless without your unique decryption key

🚀 Key Features

  • 🔐 Military-Grade Encryption: AES-256-GCM encryption for all journal entries
  • 🔒 Secure Authentication: JWT tokens with bcrypt password hashing
  • 📱 Mobile-Friendly: Responsive design for journaling anywhere
  • 🎨 Mood Tracking: Optional mood tracking (also encrypted)
  • 🔍 Smart Search: Find entries by date, title, or keywords
  • 📊 Privacy Analytics: Track your journaling habits without compromising privacy
  • 🛡️ Security First: Rate limiting, CORS protection, and secure headers

🏗️ Project Structure

daily-journal/
├── backend/                    # Secure Node.js/Express API
│   ├── controllers/           # Business logic
│   ├── models/               # MongoDB schemas
│   ├── middleware/           # Authentication & security
│   ├── routes/               # API endpoints
│   ├── utils/                # Encryption utilities
│   └── server.js             # Main server
├── frontend/                  # React user interface
│   ├── src/                  # React components
│   └── public/               # Static assets
└── README.md

🔐 How Encryption Works

  1. When you write: Your journal entry is encrypted on the server before storage
  2. When you read: The encrypted data is fetched and decrypted just for you
  3. In the database: Only encrypted gibberish is stored - unreadable to anyone
  4. Your privacy: Even database administrators can't read your entries
  5. Developer-proof: The app is designed so that even we (the developers) cannot decrypt your data

🔒 Absolute Privacy Guarantee

This app is designed with a "zero-knowledge" architecture:

  • Developers Cannot Read Your Data: We literally cannot decrypt your journal entries - even if we wanted to
  • Server-Side Encryption: Your data is encrypted before it touches our database
  • No Backdoors: There are no special keys or backdoors that allow anyone to bypass encryption
  • Open Source Security: You can audit our code to verify these privacy claims
  • Your Key, Your Data: Only you have the cryptographic key to unlock your thoughts

What this means for you:

  • Government agencies cannot force us to hand over readable data
  • Hackers who breach our database get useless encrypted gibberish
  • Rogue employees cannot snoop on your private thoughts
  • Even the app owner cannot read your journal entries
  • Your privacy is mathematically guaranteed, not just promised

🎯 Perfect For

  • Personal Journaling: Daily thoughts, experiences, and reflections
  • Mental Health: Private space for processing emotions and thoughts
  • Goal Tracking: Record progress without worrying about privacy
  • Creative Writing: Secure space for ideas and creative expression
  • Therapy Support: Complement to professional therapy with private journaling

🚧 Current Status

✅ Completed:

  • Secure backend with encryption
  • Database design with MongoDB
  • Authentication system
  • API endpoints for journal management

🔄 In Progress:

  • Frontend React application
  • User interface design
  • Journal entry forms

📋 Coming Soon:

  • Calendar view of entries
  • Mood analytics dashboard
  • Export functionality
  • Mobile app version

🛠️ Technology Stack

Backend (Security-First):

  • Node.js + Express.js
  • MongoDB with Mongoose
  • AES-256-GCM encryption
  • JWT authentication
  • bcrypt password hashing
  • Security middleware (helmet, cors, rate limiting)

Frontend (User-Friendly):

  • React.js
  • Responsive design
  • Secure API integration
  • Modern UI components

🎨 What Makes This Different

Unlike other journaling apps, this project prioritizes:

  • Privacy by Design: Encryption is built into the core architecture
  • Open Source: You can verify the security yourself
  • Self-Hosted Option: Run it on your own server for ultimate privacy
  • No Data Mining: Your data stays yours - no selling to advertisers
  • Transparent Security: Clear documentation of all security measures
  • Developer-Blind: Even the app creators cannot access your encrypted data

🌟 Vision

To create a digital journaling experience that feels as private as writing in a physical diary, but with the convenience and features of modern technology. Your thoughts deserve better than being stored in plain text on someone else's servers.

🤝 Contributing

This project welcomes contributions! Whether you're interested in:

  • Security improvements
  • UI/UX design
  • New features
  • Bug fixes
  • Documentation

Feel free to open issues or submit pull requests.


Your thoughts. Your privacy. Your journal. 🔒✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors