Welcome to Capy! A beautiful, warm, and interactive web application designed to help you track your mental wellbeing, plan your next relaxing getaway, and chat with an AI companion—all wrapped in an incredibly cozy, Capybara-themed interface.
- 🌿 Mood Analytics & Journaling: Log your daily emotions with tags and notes. Visualize your mental wellbeing over time with a beautiful GitHub-style mood heatmap.
✈️ Travel Explorer: Plan your dream trips and explore new destinations. Capy helps you find the perfect place to unwind and recharge.- 💬 Ask Capy (AI Companion): An intelligent, conversational AI buddy integrated directly into the app. Ask Capy for advice, travel tips, or just have a comforting chat.
- 🔐 Secure Authentication: Seamless login via Google OAuth or traditional Email/Password credentials, powered by NextAuth v5.
- 🎨 Stunning & Cozy UI: Fluid animations with Framer Motion, accessible components via
shadcn/ui, and a meticulously crafted Tailwind CSS theme designed to feel like a "soft place to land".
- Framework: Next.js (App Router, React 19)
- Styling: Tailwind CSS & Framer Motion
- UI Components: shadcn/ui & Lucide Icons
- Database & ORM: PostgreSQL & Prisma
- Authentication: NextAuth.js (v5)
- AI Integration: Google Generative AI SDK (
@google/generative-ai,@ai-sdk/react) - Deployment: Vercel
Follow these steps to set up the project locally on your machine.
git clone https://github.com/janveryuu/capy-app.git
cd capy-appnpm installCreate a .env.local file in the root of the project and add the following keys. You will need to set up a PostgreSQL database (e.g., via Supabase or Neon) and get OAuth credentials from Google Cloud Console.
# Database
DATABASE_URL="postgresql://user:password@host:port/db?schema=public"
# NextAuth Configuration
AUTH_SECRET="your_generated_secret_key" # Run `npx auth secret` to generate
# Google OAuth (For Google Login)
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"Generate the Prisma client and push the schema to your database:
npx prisma generate
npx prisma db pushnpm run devOpen http://localhost:3000 in your browser to see the application!
This project is perfectly configured to be deployed on Vercel.
- Push your code to GitHub.
- Import the repository into Vercel.
- Add your
.env.localvariables into the Vercel Environment Variables settings. - Vercel will automatically detect Next.js and Prisma, run
prisma generate, and build your application!
(Note: Ensure your serverExternalPackages in next.config.mjs remains intact to prevent Turbopack build errors with pg and bcryptjs on Vercel).
Built with ❤️ and plenty of matcha.