A modern, full-stack event management platform built with Next.js 15, TypeScript, and PostgreSQL.
- 🚀 Features
- 🎥 Demo
- 🛠️ Tech Stack
- 📦 Installation
- 🔧 Development
- 🏗️ Project Structure
- 🔒 Security Features
- 🚀 Deployment
- 📝 License
- 🤝 Contributing
- 📧 Contact
-
Modern Tech Stack
- Next.js 15 with App Router
- TypeScript for type safety
- PostgreSQL with Prisma ORM
- Tailwind CSS for styling
- Framer Motion for animations
-
Event Management
- Create and manage events
- Event details with rich descriptions
- Location and date management
- Image upload support
- Organizer information
-
User Experience
- Responsive design
- Smooth animations
- Pagination
- Loading states
- Error handling
-
Frontend
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- Framer Motion
- Lottie React
-
Backend
- Next.js API Routes
- Prisma ORM
- PostgreSQL
- Zod for validation
-
Development
- ESLint
- TypeScript
- Turbopack
- Tailwind CSS
-
Clone the repository:
git clone https://github.com/aminetiouk/evento.git cd evento -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory with:DATABASE_URL="postgresql://user:password@localhost:5432/evento" -
Set up the database:
npx prisma db push npx prisma generate
-
Run the development server:
npm run dev
-
Database Migrations
npx prisma migrate dev
-
Type Generation
npx prisma generate
-
Linting
npm run lint
evento/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── events/ # Event pages
│ └── page.tsx # Home page
├── components/ # React components
├── lib/ # Utility functions
├── prisma/ # Database schema
└── public/ # Static assets
- Type-safe database queries with Prisma
- Input validation with Zod
- Environment variable protection
- API route protection
- CORS configuration
- Rate limiting (to be implemented)
- Authentication (to be implemented)
-
Build the application:
npm run build
-
Start the production server:
npm start
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Name - @aminetiouk
- Project Link: @evento
