2progi is a modern, full-stack web application for a premier night club located in Poznań, Poland. This project showcases cutting-edge web technologies to deliver an immersive digital experience for club-goers, featuring event management, photo galleries, news updates, and seamless multilingual support.
- Event Management - Browse upcoming events and book your spot
- Photo Gallery - Relive the best moments with our dynamic gallery
- News & Updates - Stay informed about the latest happenings
- Multilingual Support - Full English and Polish localization
- Smooth Animations - Enhanced UX with Framer Motion and Lenis
- Responsive Design - Perfect experience on any device
- Admin Panel - Comprehensive content management system
- Performance Optimized - Lightning-fast load times and SEO-ready
- Interactive Map - Easy-to-find location with embedded maps
- Contact Forms - Direct communication with the venue
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS 4
- Animations: Framer Motion + Lenis for smooth scrolling
- Icons: Lucide React
- Forms: React Hook Form
- UI Notifications: Sonner
- Database: Convex - Real-time backend
- Image Management: ImageKit.io
- Analytics: Vercel Analytics & Speed Insights
- Internationalization: Custom i18n implementation
- Package Manager: pnpm
- Code Quality: ESLint + Prettier
- Compiler: React Compiler (RC3)
- Node.js 18+
- pnpm (recommended) or npm
-
Clone the repository
git clone https://github.com/whit33th/night-club.git cd night-club -
Install dependencies
pnpm install
-
Set up environment variables
Create a
.env.localfile in the root directory with necessary credentials:# Convex CONVEX_DEPLOYMENT= NEXT_PUBLIC_CONVEX_URL= # ImageKit NEXT_PUBLIC_IMAGEKIT_PUBLIC_KEY= IMAGEKIT_PRIVATE_KEY= NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT=
-
Run the development server
pnpm dev
This will start:
- Next.js frontend at http://localhost:3000
- Convex backend in development mode
-
Build for production
pnpm build pnpm start
night-club/
├── app/ # Next.js App Router
│ ├── [lang]/ # Localized routes
│ │ ├── about/ # About page
│ │ ├── admin/ # Admin dashboard
│ │ ├── events/ # Events listing & details
│ │ ├── gallery/ # Photo gallery
│ │ ├── news/ # News & blog
│ │ └── legal/ # Legal pages
│ └── api/ # API routes
├── components/ # React components
│ ├── Containers/ # Layout containers
│ ├── Providers/ # Context providers
│ ├── SEO/ # SEO components
│ └── UI/ # Reusable UI components
├── convex/ # Convex backend
├── dictionaries/ # i18n translations
├── lib/ # Utilities & helpers
└── public/ # Static assets
The app supports multiple languages with a custom i18n implementation:
- 🇬🇧 English (
en) - 🇵🇱 Polish (
pl)
Language is automatically detected from the URL path (/en/* or /pl/*).
Secure admin interface for managing:
- Events (create, edit, delete)
- Gallery images (upload, organize, delete)
- News articles
- Site content
- Dynamic metadata
- Structured data (JSON-LD)
- Automatic sitemap generation
- Open Graph & Twitter Cards
- Robots.txt configuration
- All files written in TypeScript
- Image optimization with ImageKit
- Lazy loading
- Code splitting
- React Server Components
- Edge-ready deployment
- Location: al. Niepodległości 36, Poznań, Poland
- Capacity: 500 guests
- Contact: +48 606 277 256
- Email: biuro@2progi.pl
Contributions are welcome! Please feel free to submit a Pull Request.
This project is private and proprietary.
Made with ❤️ for the nightlife community