Skip to content

Latest commit

ย 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฆ Digital Memory Vault

A secure and user-friendly Spring Boot web application that helps users preserve, organize, and revisit their precious memories by storing photos, videos, documents, and personal notes in one place.


โœจ Features

๐Ÿ‘ค User Management

  • User Registration
  • User Login
  • Session-based Authentication
  • Secure User-specific Memory Access

๐Ÿ“ Memory Management

  • Add Memories
  • Edit Memories
  • Delete Memories
  • View Memory Details
  • Upload Photos
  • Upload Videos
  • Upload Documents
  • Store Personal Notes

โญ Smart Features

  • โค๏ธ Mark Memories as Favorites
  • ๐Ÿ”’ Time Capsule Memories
  • ๐Ÿ“… On This Day Memories
  • ๐Ÿ•’ Recent Memories Dashboard
  • ๐Ÿ“† Memory Timeline
  • ๐Ÿ” Search Memories by Title

๐Ÿ“Š Dashboard

  • Total Memories
  • Favorite Memories Count
  • Photo Count
  • Video Count
  • Document Count
  • Note Count
  • Locked Memories Count
  • Recent Memories
  • On This Day Memories

๐Ÿ›ก Security & Validation

  • Session-based Authentication
  • User-specific Memory Protection
  • File Upload Validation
  • Form Validation
  • Secure File Storage

๐ŸŽจ User Interface

  • Responsive Bootstrap 5 Design
  • Modern Dashboard
  • Memory Cards
  • Success Notifications
  • Clean Navigation

๐Ÿ›  Technologies Used

Backend

  • Java 24
  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • Spring Security

Frontend

  • Thymeleaf
  • HTML5
  • CSS3
  • Bootstrap 5

Database

  • MySQL

Build Tool

  • Maven

๐Ÿ—„ Database

Database: MySQL

Tables

  • users
  • memories

๐Ÿ“‚ Project Structure

src
โ”œโ”€โ”€ main
โ”‚   โ”œโ”€โ”€ java
โ”‚   โ”‚   โ””โ”€โ”€ com.jayanth.digitalmemoryvault
โ”‚   โ”‚       โ”œโ”€โ”€ controller
โ”‚   โ”‚       โ”œโ”€โ”€ dto
โ”‚   โ”‚       โ”œโ”€โ”€ entity
โ”‚   โ”‚       โ”œโ”€โ”€ repository
โ”‚   โ”‚       โ”œโ”€โ”€ security
โ”‚   โ”‚       โ”œโ”€โ”€ service
โ”‚   โ”‚       โ””โ”€โ”€ config
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ resources
โ”‚       โ”œโ”€โ”€ static
โ”‚       โ”œโ”€โ”€ templates
โ”‚       โ””โ”€โ”€ application.properties

๐Ÿ— Architecture

Browser (Client)
        โ”‚
        โ–ผ
Spring MVC Controllers
        โ”‚
        โ–ผ
Service Layer
        โ”‚
        โ–ผ
Repository Layer (Spring Data JPA)
        โ”‚
        โ–ผ
MySQL Database


๐Ÿ”„ Application Workflow

User
   โ”‚
   โ–ผ
Register / Login
   โ”‚
   โ–ผ
Dashboard
   โ”‚
   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ–ผ              โ–ผ
Add Memory    View Memories
   โ”‚              โ”‚
   โ–ผ              โ–ผ
Timeline     Time Capsules
   โ”‚              โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ–ผ
    Memory Details
          โ”‚
          โ–ผ
 Edit โ€ข Favorite โ€ข Delete

๐Ÿš€ Getting Started

1. Clone the Repository

git clone https://github.com/Jayanth0018/digital_memory_vault.git

2. Open the Project

Import the project into your preferred IDE (IntelliJ IDEA, Eclipse, or VS Code).

3. Configure Database

Update the MySQL configuration in:

src/main/resources/application.properties

Example:

spring.datasource.url=jdbc:mysql://localhost:3306/digital_memory_vault
spring.datasource.username=YOUR_USERNAME
spring.datasource.password=YOUR_PASSWORD

4. Run the Application

Run the Spring Boot application.

5. Open in Browser

If you're using the default Spring Boot port:

http://localhost:8080

If you changed the port to 9090, use:

http://localhost:9090

๐Ÿ“ธ Screenshots

Screenshots will be added after the final project presentation.

The application includes the following screens:

  • ๐Ÿ  Home Page
  • ๐Ÿ‘ค Register Page
  • ๐Ÿ” Login Page
  • ๐Ÿ“Š Dashboard
  • โž• Add Memory
  • ๐Ÿ“‚ Memory List
  • ๐Ÿ‘๏ธ Memory Details
  • ๐Ÿ•’ Memory Timeline
  • ๐Ÿ”’ Time Capsules

๐ŸŽฅ Project Demo

The application allows users to:

  • Register and Login
  • Upload memories (Images, Videos, Documents, Notes)
  • Organize memories
  • Search memories
  • Mark favorites
  • Create Time Capsules
  • View memories on Timeline
  • Revisit "On This Day" memories
  • Manage personal digital memories securely

๐Ÿ”ฎ Future Enhancements

  • Export Memories to PDF
  • Calendar View
  • Dark Mode
  • Cloud Storage Integration
  • Memory Sharing
  • Email Notifications

๐Ÿ” Environment Variables

The application uses environment variables in production.

Required variables:

SPRING_DATASOURCE_URL SPRING_DATASOURCE_USERNAME SPRING_DATASOURCE_PASSWORD

๐Ÿ‘ฅ Team

  • Jayanth Kumar
  • Dileep
  • Sazida
  • Ruthwika

Repository

Repository: https://github.com/Jayanth0018/digital_memory_vault

๐Ÿ“„ License

This project is developed for educational purposes as part of a Java Full Stack college project.


๐ŸŒ Live Demo

Digital Memory Vault is live on Railway:

https://your-railway-domain.up.railway.app

โญ Acknowledgements

Special thanks to the Spring Boot, Thymeleaf, Bootstrap, and MySQL communities for providing excellent open-source tools and documentation.

About

A secure Spring Boot web application for preserving and managing digital memories with photos, videos, documents, favorites, and time capsules.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages