Skip to main content
Get up and running with MyDiary in just a few minutes. This guide walks you through creating your account, writing your first diary entry, and connecting with friends.

Create your account

1

Visit the registration page

Navigate to /SingIn in your MyDiary instance to access the registration form.
2

Fill in your details

Provide the following information:
  • Name - Your display name (will be capitalized automatically)
  • Email - A valid email address (must be unique)
  • Password - At least 6 characters
  • Confirm password - Must match your password
All fields are required. Your email must be unique - you’ll get an error if it’s already registered.
3

Submit the form

Click the registration button. Upon successful registration, you’ll be automatically logged in and redirected to your home feed.
The registration process uses this validation (from UserController.php:40-45):
$req->validate([
    'password' => 'required|min:6',
    'passwordConfirm' => 'required|same:password',
    'email' => 'required|email',
    'name' => 'required'
]);

Write your first entry

1

Access the entry form

After logging in, you’ll see the main diary interface with a text area at the top labeled “¿Como te sientes hoy?” (How are you feeling today?).
2

Compose your entry

Click on the text area and write your thoughts. The entry body is required - you cannot publish an empty entry.
Be authentic! Your diary is a space for your genuine thoughts and experiences.
3

Add an image (optional)

Click the camera icon or “Añadir imagen” area to upload a photo:
  • Click to browse your files
  • Or drag and drop an image directly
The image will be stored securely in Laravel’s storage system.
4

Set visibility

Choose who can see your entry using the visibility dropdown:
  • Public - All your friends can see this entry
  • Private - Only you can see this entry
  • Friends only - Select specific friends to share with
When selecting “Friends only”, a modal opens where you can choose which friends can view the entry.
5

Publish

Click Publicar entrada (Publish entry). You’ll see a success message and your new entry will appear at the top of your feed.
Here’s how entries are created (from EntryController.php:21-52):
$entry = new Entry();
$entry->body = $req->body;
$entry->visibility = $req->visibilityValue;
$entry->creator_id = Auth::user()->id;
$entry->save();

// Handle image upload
if($req->hasFile('file')) {
    $file = $req->file('file');
    $path = $file->store('uploads', 'public');
    
    $imageEntry = new ImageEntry();
    $imageEntry->name = $file->getClientOriginalName();
    $imageEntry->path = $path;
    $imageEntry->entry_id = $entry->id;
    $imageEntry->save();
}

// Share with specific friends
$friends = $req->input('friend');
if($friends) {
    $entry->users()->attach($friends);
}

Connect with friends

1

Find users

Navigate to /Friends to see all users. You’ll see three tabs:
  • Profiles - All users who aren’t your friends yet
  • Friends - Your accepted friend connections (type=1)
  • Requests - Pending friend requests sent to you (type=2)
2

Search for someone

Use the search bar to find users by name or email. The search filters users in real-time.
3

Send a friend request

Click the Add Friend or similar button next to a user’s profile. The request status will change to “Pending”.
If someone already sent you a request, clicking this button will automatically accept their request instead!
4

Accept or reject requests

Switch to the Requests tab to see pending friend requests. You can:
  • Accept - Click the accept button to become friends
  • Reject - Click the reject button to decline the request
The friend request logic handles multiple scenarios (from FriendRequestsController.php:66-135):
// If they sent you a request, auto-accept it
$friendRequest = $user->friendsS()
    ->where('recived_id', Auth::user()->id)
    ->wherePivot('status', 'pending')
    ->exists();

if($friendRequest) {
    $user->friendsS()->updateExistingPivot(Auth::user()->id, [
        'response_at' => Carbon::now(),
        'status' => 'accepted'
    ]);
}

// Otherwise, send a new request
Auth::user()->friendsS()->attach($id, [
    'status' => 'pending',
    'send_at' => Carbon::now()
]);

View and engage with content

Once you have friends and entries:
  • View your feed - See your entries and your friends’ public entries in chronological order
  • Like entries - Click the heart icon to like entries from friends
  • Edit your entries - Click the edit button on your own entries to modify them
  • Delete entries - Click the delete button to remove entries you created

Share selectively

Learn how to control who sees your entries

Manage privacy

Understand all privacy settings

What’s next

Now that you’re up and running, explore more features:
For developers looking to deploy or customize MyDiary, check out the installation guide.

Build docs developers (and LLMs) love