A modern full-stack car management system built with Next.js, featuring user authentication, image management, and advanced search capabilities.
🔐 Secure Authentication
- User signup/login
- Protected routes
- Personal dashboard
🚙 Car Management
- Multi-image upload (up to 10)
- Detailed car information
- Edit & delete functionality
🔍 Advanced Search
- Real-time filtering
- Tag-based search
- Title & description search
📱 Responsive Design
- Mobile-first approach
- Cross-device compatibility
- Modern UI components
- Frontend: Next.js 13
- UI: Shadcn & Tailwind CSS
- Database: MongoDB
- ORM: Prisma
- Image Storage: Cloudinary
Node.js 16.x+
MongoDB
Cloudinary Account
- Clone the repo
git clone https://github.com/ShnatanuK86/car-management-app.git
cd car-management-app
- Install dependencies
npm install
# or
yarn install
- Set up environment variables
# Create a .env file with:
DATABASE_URL="mongodb+srv://<username>:<password>@cluster0.mongodb.net/car_management"
CLOUDINARY_CLOUD_NAME="your-cloudinary-cloud-name"
CLOUDINARY_API_KEY="your-cloudinary-api-key"
CLOUDINARY_API_SECRET="your-cloudinary-api-secret"
NEXTAUTH_SECRET="your-nextauth-secret"
NEXTAUTH_URL="http://localhost:3000"
- Initialize Prisma
npx prisma init
npx prisma migrate dev --name init
npx prisma generate
- Run the development server
npm run dev
# or
yarn dev
Visit http://localhost:3000 to see your app! 🎉
car-management-app/
├── 📂 app/
│ ├── 📂 api/
│ ├── 📂 auth/
│ ├── 📂 dashboard/
│ └── 📂 cars/
├── 📂 components/
├── 📂 prisma/
├── 📂 public/
└── 📂 styles/
POST /api/auth/signup - Register new user
POST /api/auth/login - User login
POST /api/cars - Create new car
GET /api/cars - Get user's cars
GET /api/cars/[id] - Get specific car
PUT /api/cars/[id] - Update car
DELETE /api/cars/[id] - Delete car
Deploy easily on Vercel:
- Push to GitHub/GitLab
- Import to Vercel
- Set environment variables
- Deploy!
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add AmazingFeature'
) - Push to branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/ShantanuK86/car-management-app
Made with ❤️ by ME