https://github.com/gh0stytongue/horizon-memories-source
Horizon Memories is a web application that lets users create time capsules to store files (photos, text, PDFs, etc.) with unlock dates, preserving memories for the future. Built with PHP, MySQL
https://github.com/gh0stytongue/horizon-memories-source
animejs gsap gsap-animation gsap3 html mysql php php7 tailwind tailwind-css tailwindcss
Last synced: 7 months ago
JSON representation
Horizon Memories is a web application that lets users create time capsules to store files (photos, text, PDFs, etc.) with unlock dates, preserving memories for the future. Built with PHP, MySQL
- Host: GitHub
- URL: https://github.com/gh0stytongue/horizon-memories-source
- Owner: Gh0styTongue
- License: mit
- Created: 2025-03-30T00:51:15.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-30T01:04:02.000Z (7 months ago)
- Last Synced: 2025-03-30T01:37:00.699Z (7 months ago)
- Topics: animejs, gsap, gsap-animation, gsap3, html, mysql, php, php7, tailwind, tailwind-css, tailwindcss
- Language: PHP
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Horizon Memories Source
**Save Today, Open Tomorrow**
Horizon Memories is a web application that lets users create time capsules to store files (photos, text, PDFs, etc.) with unlock dates, preserving memories for the future. Built with PHP, MySQL, and a modern frontend, it offers a user-friendly interface for uploading, viewing, and managing files securely.## Features
- **User Authentication**: Secure signup and login system with 7-day session persistence.
- **Time Capsules**: Create capsules with storage limits, file type restrictions, and unlock dates.
- **File Management**:
- Multi-file uploads with progress bars, percentage, and ETA.
- **File Type Enforcement**: Supports photos (JPEG, PNG, GIF) and text (TXT, PDF, DOC, DOCX) based on capsule settings.
- **Responsive Design**: Built with Tailwind CSS, animated with GSAP and Anime.js.## Prerequisites
- **PHP**: 7.4+ with PDO and `mime_content_type` enabled.
- **MySQL**: 5.7+ for database storage.
- **Web Server**: Apache or Nginx.
- **Composer**: Optional, for dependency management (not currently used).## Installation
1. **Clone the Repository**:
```bash
git clone https://github.com/Gh0styTongue/Horizon-Memories-Source.git
cd horizon-memories
```2. **Set Up the Database**:
- Create a MySQL database (e.g., `database`).
- Import the initial schema (adjust as needed):
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);CREATE TABLE capsules (
capsule_id VARCHAR(22) NOT NULL PRIMARY KEY,
user_id INT NOT NULL,
storage_size BIGINT NOT NULL,
file_types VARCHAR(255) NOT NULL,
unlock_date DATETIME,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);CREATE TABLE files_capsule (
id INT AUTO_INCREMENT PRIMARY KEY,
capsule_id VARCHAR(22) NOT NULL,
user_id INT NOT NULL,
filename VARCHAR(255) NOT NULL,
file_date DATETIME NOT NULL,
date_added TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
file_blob MEDIUMBLOB NOT NULL,
byte_size BIGINT NOT NULL,
FOREIGN KEY (capsule_id) REFERENCES capsules(capsule_id) ON DELETE CASCADE,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
```3. **Configure Database Connection**:
- Open `dash/capsule.php` (and other files like `plans/login.php` if present).
- Update the database credentials:
```php
$host = 'localhost';
$dbname = 'your_database_name';
$username = 'your_username';
$password = 'your_password';
```4. **Deploy to Server**:
- Upload the files to your web server (e.g., `/var/www/html/hm`).
- Ensure the directory is writable for session data.5. **Access the Site**:
- Navigate to `/plans/login.php` to start.## Usage
1. **Sign Up / Log In**: Create an account or log in.
2. **Create a Capsule**: Set storage size, file types (e.g., "photos,text"), and an unlock date.
3. **Upload Files**: Select multiple files, set a file date, and upload.
4. **Manage Files**: View files in a modal or delete multiple files with a confirmation warning.
5. **Log Out**: End your session securely.## Project Structure
```
horizon-memories/
├── dash/
│ └── capsule.php # Main capsule management page
├── login/ # Login pages
├── plans/ # Plans pages
├── index.html # Entry point for the site
└── README.md # This file
```### Guidelines
- Follow PHP PSR-12 coding standards.
- Test locally before submitting.
- Add features like DOCX parsing, per-file progress, or better error handling.## License
This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.
## Acknowledgements
- **Tailwind CSS**: For responsive styling.
- **GSAP & Anime.js**: For animations.
- **Typed.js**: For typing effects.
- **xAI**: Inspiration from Grok’s assistance in development.