https://github.com/charith0901/capsulory
Capsulory is a time capsule web app that lets users store text to be unlocked on a future date. Users can create, personalize, and share capsules, with content automatically revealed at the chosen time. Built with Next.js and MongoDB.
https://github.com/charith0901/capsulory
mongodb next-auth nextjs vercel-deployment
Last synced: 4 months ago
JSON representation
Capsulory is a time capsule web app that lets users store text to be unlocked on a future date. Users can create, personalize, and share capsules, with content automatically revealed at the chosen time. Built with Next.js and MongoDB.
- Host: GitHub
- URL: https://github.com/charith0901/capsulory
- Owner: charith0901
- Created: 2025-03-06T08:57:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-21T15:05:58.000Z (about 1 year ago)
- Last Synced: 2025-06-30T21:42:38.797Z (12 months ago)
- Topics: mongodb, next-auth, nextjs, vercel-deployment
- Language: JavaScript
- Homepage: https://capsulory.vercel.app/
- Size: 141 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Capsulory
Capsulory is a modern time capsule web application that allows users to store and retrieve memories, messages, and digital artifacts securely over time. Built using **Next.js** for the frontend and **MongoDB** for storage, it offers a seamless and interactive user experience.
## Live Demo
Check out the live demo: [Capsulory](https://capsulory.vercel.app/)
## STRUCTURE
src
├── app
├── api
│ ├── Capsules
│ │ └── route.js
│ └── auth
│ │ ├── [...nextauth]
│ │ └── route.js
│ │ └── signup
│ │ └── route.js
├── auth
│ ├── signin
│ │ └── page.js
│ └── signup
│ │ └── page.js
├── capsules
│ ├── [id]
│ │ └── page.js
│ └── page.js
├── favicon.ico
├── globals.css
├── layout.js
├── page.js
├── pages
│ ├── createCapsule
│ │ └── page.js
│ └── myCapsules
│ │ └── page.js
├── recoil
│ └── capsuleAtom.js
└── services
│ └── capsuleApi.js
├── components
├── CapsuleCard.js
├── CapsuloryLanding.js
├── CreateCapsule.js
├── Navbar.js
├── ProtectedRoute.js
└── ui
│ └── button.js
├── lib
└── mongodb.js
└── model
├── Capsule.js
└── User.js
## Features
- **User Authentication**: Secure login and registration with Credentials and Google Oauth.
- **Capsule Creation**: Users can create time capsules with text.
- **Time Lock Mechanism**: Capsules remain locked until the set date.
- **Cloud Deployment**: **Jenkins** for CI/CD.
## Tech Stack
- **Frontend**: Next.js
- **Backend**: Next.js
- **Database**: MongoDB
- **Authentication**: Next-auth , JWT-based authentication
## Installation
1. Clone the repository:
```sh
git clone https://github.com/charith0901/capsulory.git
cd capsulory
```
2. Install dependencies:
```sh
npm install
```
3. Set up environment variables in a `.env` file:
```env
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
NEXT_PUBLIC_API_URL=http://localhost:3000
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
```
4. Start the development server:
```sh
npm run dev
```
**Author**: [Charith](https://github.com/charith0901)