Skip to content

satyam-code45/workwave

Repository files navigation

🌊 WorkWave – Modern Job Portal

image

WorkWave is a modern full-stack job portal built using Next.js, Prisma, NextAuth, Tiptap, and Tailwind CSS. It allows job seekers and employers to connect through a smooth and intuitive interface, with features like resume uploads, job applications, Stripe payments, and email notifications.


✨ Features

  • 🔐 Authentication with NextAuth.js & Prisma Adapter
  • ✍️ Rich job descriptions with Tiptap Editor
  • 📄 Resume uploads via UploadThing
  • 📬 Email notifications using Resend
  • 💳 Payments for premium listings with Stripe
  • 🎨 Light/Dark mode using next-themes
  • ✅ Form validation via React Hook Form & Zod
  • 🔔 Smooth toasts and alerts with Sonner
  • 🧱 Built using Radix UI and Lucide Icons
  • ⚡ Fast dev experience with Turbopack

🧑‍💻 Tech Stack

Category Tech
Framework Next.js 15
Auth NextAuth.js with Prisma Adapter
ORM Prisma
Editor Tiptap
Forms React Hook Form, Zod
Styling Tailwind CSS, tailwindcss-animate
Components Radix UI, Lucide React
Uploads UploadThing
Payments Stripe
Email Resend
Toasts Sonner
Jobs Inngest

🚀 Getting Started

1. Clone & Install

git clone https://github.com/satyam-code45/workwave.git
cd workwave
pnpm install

2. Set Environment Variables

Create a .env file and fill in:

DATABASE_URL=your_database_url
NEXTAUTH_SECRET=your_auth_secret
NEXTAUTH_URL=http://localhost:3000
UPLOADTHING_SECRET=your_uploadthing_secret
UPLOADTHING_APP_ID=your_uploadthing_app_id
RESEND_API_KEY=your_resend_key
STRIPE_SECRET_KEY=your_stripe_secret_key

3. Run Dev Server

pnpm dev

Make sure your database is up and Prisma migrations have run (npx prisma migrate dev if needed)


📂 Project Structure

.
├── app/                  # App directory (Next.js 15)
├── components/           # Reusable UI components
├── prisma/               # Prisma schema and seed files
├── lib/                  # Utilities and helpers
├── styles/               # Global styles
├── public/               # Static assets
└── ...

📜 Available Scripts

pnpm dev       # Start dev server
pnpm build     # Build for production
pnpm start     # Start production server
pnpm lint      # Lint with ESLint
pnpm prisma    # Prisma commands

🤝 Contributing

Contributions are welcome and encouraged!

git checkout -b feature/my-feature
git commit -m "Add new feature"
git push origin feature/my-feature

Then open a pull request.


📄 License

This project is licensed under the MIT License.


🙋‍♂️ Author

Built with ❤️ by Satyam

Feel free to ⭐ the repo if you found this helpful!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages