Welcome to MyDiary
MyDiary is a modern social diary application that combines the intimacy of personal journaling with the connectivity of social sharing. Built with Laravel and React, it empowers users to capture their daily moments, share them with loved ones, and build meaningful connections through shared experiences.Quick start
Get started with MyDiary in minutes - from account creation to your first diary entry
Installation guide
Set up the development environment and deploy your own MyDiary instance
API reference
Explore the complete API documentation for developers
Development
Learn about the architecture and contribute to MyDiary
Key features
Privacy-focused diary entries
Create diary entries with flexible visibility controls. Each entry supports:- Public entries - Visible to all your friends
- Private entries - Only visible to you
- Shared entries - Choose specific friends to share with
- Image attachments - Add photos to capture visual memories
Social connections
Build your network through a comprehensive friend system:- Send and receive friend requests
- Accept or reject incoming requests
- View friends’ public diary entries
- Search for users by name or email
- Manage your friend list
Friend requests support pending, accepted, and rejected states with timestamps for full audit trails.
Rich media support
Enhance your diary entries with images:- Upload photos with each entry
- Automatic image storage and retrieval
- Update or remove images from existing entries
- Secure file handling through Laravel’s storage system
Interactive engagement
Engage with your friends’ content:- Like diary entries to show appreciation
- View who liked your entries
- Real-time feed of friends’ public entries
- Chronological timeline of shared memories
Technology stack
MyDiary is built with modern web technologies:- Backend: Laravel 12 with PHP 8.2+
- Frontend: React 19 with Inertia.js
- Styling: Tailwind CSS 4.0
- Database: MySQL with Eloquent ORM
- Build Tool: Vite 6
- Icons: HugeIcons React library
Database architecture
MyDiary uses a relational database structure with the following core tables:| Table | Purpose |
|---|---|
users | User accounts and authentication |
entries | Diary entries with body, visibility, and creator |
friend_requests | Friend connections with status tracking |
entry_users | Pivot table for shared entries |
image_entries | Image attachments for diary entries |
image_users | Profile images for users |
likes | User engagement on entries |
Get started
Ready to begin? Choose your path:I'm a user
Start creating diary entries and connecting with friends
I'm a developer
Set up the development environment and explore the codebase