An intelligent AI-powered career counseling platform that provides personalized guidance, resume reviews, and career advice through interactive conversations.
- AI-powered career counseling with personalized advice
- Session management for organizing chats
- Dynamic avatars per session via DiceBear
- Persistent message history with auto-scrolling
- Secure authentication with Better Auth and email verification
- User profiles and protected routes
- Responsive, mobile-first design
- Modern UI using shadcn/ui and Framer Motion animations
- Professional landing page with hero, stats, pricing, and footer
- Type-safe API with tRPC and Drizzle ORM integration
- Real-time updates and robust error handling
- Framework: Next.js 15 - React framework with App Router
- Language: TypeScript - Type-safe JavaScript
- Styling: Tailwind CSS - Utility-first CSS framework
- UI Components: shadcn/ui - Modern component library
- Animations: Framer Motion - Animation library
- Icons: Lucide React - Beautiful icon library
- API: tRPC - Type-safe API layer
- Database: PostgreSQL - Relational database
- ORM: Drizzle - Type-safe ORM
- Authentication: Better Auth - Authentication library
- AI Model: Google Generative AI - Gemini AI integration
- Email: Resend - Email service
- Avatars: DiceBear - Avatar generation
- Analytics: Vercel Analytics - Usage analytics
- Package Manager: pnpm - Fast package manager
- Linting: ESLint - Code linting
- Formatting: Prettier - Code formatting
- Git Hooks: Husky - Git hooks
- Testing: Lint-staged - Pre-commit hooks
Before you begin, ensure you have the following installed:
- Node.js: Version 18.0 or higher
- pnpm: Package manager
- PostgreSQL: Database server
- Git: Version control system
# Check versions
node --version # Should be 18.0+
pnpm --version # Should be installed
git --version # Should be installedgit clone https://github.com/Jain-Pranjal/Oration-chatbot.git
cd oration-chatbotpnpm installSet up environment variables by copying the .env.example file to .env.local and filling in the necessary details.
# Database
cp .env.example .env.local# Push database schema
pnpm db:push
# Optional: Open database studio
pnpm db:studiopnpm devVisit http://localhost:3000 to see the application.
oration-chatbot/
├── app/ # Next.js App Router (auth, main, api, etc.)
├── components/ # UI components (global, ui)
├── db/ # Database (index.ts, schema.ts)
├── lib/ # Utilities (ai, auth, utils, etc.)
├── modules/ # Feature modules (auth, chat, landing)
├── trpc/ # tRPC setup (client, routers, server)
├── public/ # Static assets (images, favicon)
├── .env.example # Environment template
├── drizzle.config.ts # DB config
├── next.config.ts # Next.js config
├── package.json # Dependencies
├── tailwind.config.ts # Tailwind config
├── tsconfig.json # TypeScript config
└── README.md # Documentation
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help:
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Made with ❤️ by Pranjal Jain
⭐ Star this repository if you find it helpful!
