CryptiCat is a purr-fectly stealthy anonymous messaging application that allows users to receive messages anonymously via unique links. The app features secure user authentication, dedicated channels for organizing messages, and ephemeral stories functionality that vanish like a cat in the night after 24 hours. With AI-powered message suggestions, CryptiCat offers a paw-some experience for those who value privacy and creative expression.
You can try out the live version of CryptiCat here: CryptiCat Live
- Anonymous Messaging: Users can receive messages anonymously through unique links
- User Authentication: Secure sign-up and login with email verification
- Channels: Create dedicated channels for different types of messages
- Stories: Share temporary content that expires after 24 hours
- AI-Generated Suggestions: Integrated with Google Generative AI to provide intelligent message suggestions
- Responsive Design: Modern UI built with Tailwind CSS and ShadCN UI components
- Frontend:
- Next.js 14 (App Router)
- React 18
- Tailwind CSS with ShadCN UI
- Framer Motion for animations
- Embla Carousel for carousels
- Backend:
- Next.js API Routes
- Prisma ORM
- PostgreSQL Database
- Authentication:
- NextAuth.js
- AI Integration:
- Google Generative AI (@ai-sdk/google)
To get started with CryptiCat locally, follow these steps:
Ensure you have the following installed:
- Node.js (v18 or later)
- PostgreSQL (or use a cloud-based PostgreSQL service)
- npm or yarn
-
Clone the repository:
git clone https://github.com/priyanshusinha11/ama-app.git
-
Navigate to the project directory:
cd ama-app -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
Create a
.envfile in the root directory with the following variables:DATABASE_URL="postgresql://username:password@localhost:5432/ama_app" NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="your-nextauth-secret" GOOGLE_CLIENT_ID="your-google-client-id" GOOGLE_CLIENT_SECRET="your-google-client-secret" GOOGLE_API_KEY="your-google-api-key" RESEND_API_KEY="your-resend-api-key" -
Set up the database:
npx prisma migrate dev
-
Run the development server:
npm run dev # or yarn devThe app will be available at http://localhost:3000
The application uses PostgreSQL with Prisma ORM and includes the following models:
- User: User authentication and profile information
- Account: OAuth account information
- Session: User session data
- Message: Messages sent to users
- Channel: Channels created by users for receiving messages
- Story: Temporary content that expires after a set time
- Like: Likes on stories
- VerificationToken: Email verification tokens
CryptiCat is currently deployed on Vercel and can be accessed at: https://whisperly-beta.vercel.app/
To deploy CryptiCat yourself, you can use Vercel or any other platform that supports Next.js applications:
- Push your code to a GitHub repository
- Connect your repository to Vercel
- Configure the environment variables
- Deploy the application
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature-branch) - Create a new Pull Request
This project is licensed under the MIT License.
