Calculator Tools Calculator Tools
Create

365 Memories 2020 - Social Media

Apr 19, 2025

About this app

Capture and share your 365 memories from 2020 in a fun, social media style platform that allows you to upload images, add captions, and browse through friends' memories.

365 Memories 2020 - Social Media 365 Memories 2020 Upload Your Memories

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>365 Memories 2020 - Social Media</title>
<meta name="description" content="Capture and share your 365 memories from 2020 in a fun, social media style platform that allows you to upload images, add captions, and browse through friends' memories.">
<meta name="keywords" content="memories, social media, image sharing, 2020, photo album, friends, captions, fun, colorful">

<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

<script type="text/javascript">
try {
document.addEventListener("DOMContentLoaded", function() {
const memoriesContainer = $('#memoriesContainer');
const uploadForm = $('#uploadForm');
const memoryInput = $('#memoryInput');
const captionInput = $('#captionInput');

function addMemory(imageUrl, caption) {
const memoryCard = $(`
<div class="memory-card card mb-3" style="border:2px solid #ff6f61; border-radius: 15px; overflow: hidden;">
<img src="${imageUrl}" alt="Memory" class="card-img-top">
<div class="card-body">
<p class="card-text">${caption}</p>
</div>
</div>
`);
memoriesContainer.prepend(memoryCard);
}

uploadForm.on('submit', function(event) {
event.preventDefault();
const imageFile = memoryInput[0].files[0];
const caption = captionInput.val();

if (imageFile && caption) {
const reader = new FileReader();
reader.onload = function(e) {
addMemory(e.target.result, caption);
memoryInput.val('');
captionInput.val('');
};
reader.readAsDataURL(imageFile);
} else {
alert("Please upload an image and enter a caption.");
}
});
});
} catch (error) {
throw error;
}
</script>

<style>
body {
background: linear-gradient(#fff6e5, #ffccbc);
font-family: 'Arial', sans-serif;
}
#main-container {
margin-top: 50px;
}
.memory-card img {
height: 250px;
width: auto;
border-radius: 15px 15px 0 0;
}
.memory-card {
transition: transform 0.2s;
}
.memory-card:hover {
transform: scale(1.05);
}
.upload-btn {
background-color: #ff6f61;
color: white;
}
.upload-btn:hover {
background-color: #c62828;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1 class="text-center text-danger">365 Memories 2020</h1>
<form id="uploadForm" class="my-4">
<div class="input-group mb-3">
<input type="file" class="form-control" id="memoryInput" accept="image/*" required>
<input type="text" class="form-control" id="captionInput" placeholder="Enter a caption" required>
<button class="btn upload-btn" type="submit">Upload</button>
</div>
</form>
<h2 class="text-center">Your Memories</h2>
<div id="memoriesContainer" class="mb-5 mt-4"></div>
</div>
</body>
</html>