Skip to content

Yaser-123/HTF25-Team-385

Β 
Β 

Repository files navigation

🌌 Celestia – Digital Time Capsule Web App

Celestia Dashboard

"Where memories meet the future ✨ β€” Unlock tomorrow, today."

Next.js TypeScript Tailwind CSS Clerk Neon

πŸš€ Live Demo β€’ πŸ› Report Bug β€’ ✨ Request Feature


πŸ“– About The Project

Celestia is a modern, secure, and beautiful digital time capsule application that lets you preserve memories, messages, photos, and videos to be unlocked at a future date. Built for CBIT HacktoberFest '25, Celestia combines cutting-edge web technologies with thoughtful UX design to create a unique experience for preserving and sharing moments across time.

✨ Key Highlights

  • πŸ” End-to-End Encryption - Your memories are secured with AES-256 encryption
  • 🎨 Beautiful UI - Modern, responsive design with smooth animations
  • πŸ“± PWA Ready - Install on any device, works offline
  • πŸ–ΌοΈ Multi-Media Support - Store multiple photos and videos in each capsule
  • ⏰ Auto-Unlock - Capsules unlock automatically when the time comes
  • 🎭 Stunning Animations - Engaging unlock animations and transitions
  • πŸ”— Shareable Links - Share your capsules with friends and family

🎯 Features

πŸ”’ Create Time Capsules

Create Capsule

  • Rich Content Editor - Write messages with markdown support
  • Multi-Media Upload - Add up to 10 photos/videos per capsule
  • Custom Unlock Dates - Set any future date for your capsule
  • Privacy Controls - Keep capsules private or share via link

🎬 Immersive Media Experience

Media Carousel

  • Full-Screen Carousel - Browse media with smooth transitions
  • Keyboard & Swipe Navigation - Arrow keys and touch gestures
  • Video Support - Play videos directly in the carousel
  • Thumbnail Grid - Quick navigation with visual previews

πŸ“± Responsive Design

Mobile View

  • Mobile-First - Optimized for all screen sizes
  • Touch-Friendly - Smooth gestures and interactions
  • PWA Support - Install on home screen, works offline

πŸ› οΈ Tech Stack

Frontend

Backend & Database

Security & PWA

  • AES-256 Encryption - Client-side content encryption
  • next-pwa - Progressive Web App support
  • Service Workers - Offline functionality

πŸš€ Getting Started

Prerequisites

Installation

  1. Clone the repository
git clone https://github.com/Yaser-123/HTF25-Team-385.git
cd HTF25-Team-385
  1. Install dependencies
npm install
  1. Set up environment variables

Create a .env.local file in the root directory:

# Clerk Authentication Keys
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

# Neon Database Connection String
DATABASE_URL=your_neon_database_url

# Encryption Secret Key (32 bytes for AES-256)
ENCRYPTION_KEY=your_32_character_secret_key
  1. Push database schema
npm run db:push
  1. Run the development server
npm run dev
  1. Open http://localhost:3000 in your browser πŸŽ‰

πŸ“¦ Build & Deploy

Build for Production

npm run build
npm start

Deploy to Vercel

Deploy with Vercel

  1. Click the button above or connect your GitHub repo
  2. Add environment variables in Vercel dashboard
  3. Deploy! πŸš€

πŸ—‚οΈ Project Structure

HTF25-Team-385/
β”œβ”€β”€ app/                    # Next.js app directory
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”œβ”€β”€ capsule/[id]/      # Dynamic capsule pages
β”‚   β”œβ”€β”€ sign-in/           # Authentication pages
β”‚   └── globals.css        # Global styles
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ CapsuleCard.tsx    # Capsule preview cards
β”‚   β”œβ”€β”€ CapsuleForm.tsx    # Create capsule form
β”‚   β”œβ”€β”€ MediaCarousel.tsx  # Full-screen media viewer
β”‚   └── UnlockAnimation.tsx # Unlock effect
β”œβ”€β”€ lib/                   # Utility functions
β”‚   β”œβ”€β”€ db/                # Database schema & config
β”‚   └── encryption.ts      # AES-256 encryption
β”œβ”€β”€ public/                # Static assets
β”‚   β”œβ”€β”€ manifest.json      # PWA manifest
β”‚   └── sw.js             # Service worker
└── assets/               # Documentation assets

🎨 Color Palette

Celestia uses a carefully crafted blue/green theme:

  • Background: #1B1B1B - Deep space black
  • Primary: #177BE4 - Celestial blue
  • Success: #56AD01 - Future green
  • Text: #9A999C - Soft gray
  • Borders: #9A999C - Subtle dividers

🀝 Contributing

Built with ❀️ by CSOC Community

CSOC Logo

CBIT Open Source Community

We're a passionate community of developers, designers, and tech enthusiasts at CBIT, dedicated to building open-source projects and fostering a culture of collaboration and learning.

Join CSOC β€’ GitHub


Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated! 🌟

How to Contribute

  1. Fork the Project
  2. Create your Feature Branch
    git checkout -b feature/AmazingFeature
  3. Commit your Changes
    git commit -m 'Add some AmazingFeature'
  4. Push to the Branch
    git push origin feature/AmazingFeature
  5. Open a Pull Request

Contribution Guidelines

  • βœ… Follow the existing code style
  • βœ… Write meaningful commit messages
  • βœ… Test your changes thoroughly
  • βœ… Update documentation if needed
  • βœ… Be respectful and constructive

πŸ‘¨β€πŸ’» Developer

Team Logo

T Mohamed Yaser

Solo Developer - Team #385

GitHub LinkedIn Email

"Building the future, one commit at a time." πŸš€


πŸ† Hackathon

CBIT HacktoberFest '25

Team #385 | Solo Project

This project was built as part of CBIT HacktoberFest 2025, a celebration of open-source development and innovation at Chaitanya Bharathi Institute of Technology.


πŸ“„ License

This project is open source and available under the MIT License.


πŸ™ Acknowledgments

  • CSOC - For fostering the open-source community at CBIT
  • CBIT - Chaitanya Bharathi Institute of Technology
  • Vercel - For amazing deployment platform
  • Neon - For serverless PostgreSQL
  • Clerk - For seamless authentication

⭐ Star this repo if you find it helpful!

Made with πŸ’™ and β˜• by Yaser

Celestia - Where memories meet the future 🌌

↑ Back to Top

About

🌌 Preserve your memories and unlock them in the future. A secure digital time capsule app built with Next.js, TypeScript & PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.8%
  • CSS 1.3%
  • JavaScript 0.9%