Skip to content

BOTOOM/event-maple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍁 EventMaple

The smartest way to organize your event

License: MIT Next.js TypeScript Tailwind CSS

Live Demo Β· Report Bug Β· Request Feature


πŸ“– About The Project

EventMaple is an open-source platform created to help the community manage events of any type efficiently and accessibly. Whether it's tech events, conferences, community workshops, or any other gathering, EventMaple provides the necessary tools for organizers and attendees to manage all information in one place.

🎯 Mission

To empower the community to create, organize, and participate in events completely free of charge, simplifying personalized agenda management and improving the experience for both organizers and attendees.

✨ What can you do with EventMaple?

For Organizers πŸ“…

  • Create events of any type (tech or non-tech)
  • Add talks, workshops, and activities within each event
  • Share all event information with the community
  • Facilitate organization and activity planning

For Attendees πŸ‘₯

  • Explore events and discover talks of interest
  • Manage your personal event agenda as you prefer
  • Mark talks and activities you wish to attend
  • Keep everything organized in one place, for multiple events

🌟 Key Features

  • βœ… Secure authentication with Supabase (email/password)
  • βœ… Event management - Create and explore all types of events
  • βœ… Personalized agenda - Mark and manage your favorite talks
  • βœ… Internationalization (i18n) - Multi-language support (EN, ES, FR, PT)
  • βœ… SEO Optimized - Dynamic metadata, sitemap, and robots.txt
  • βœ… PWA Ready - Installable as an app with offline capabilities
  • βœ… Custom Error Handling - User-friendly 404 and 500 pages
  • βœ… Responsive design - Optimized for mobile, tablet, and desktop
  • βœ… Server-Side Rendering (SSR) - Optimal performance with Next.js 16
  • βœ… Modern interface - Intuitive and attractive UI/UX
  • βœ… 100% Free - No hidden charges or limitations

πŸ› οΈ Tech Stack

  • Next.js 16 - React Framework with App Router
  • TypeScript - Static typing
  • Tailwind CSS - Utility-first styling
  • shadcn/ui - UI Components
  • Supabase - Authentication and database
  • next-intl - Internationalization routing and translations
  • Lucide React - Icons
  • date-fns - Date handling
  • Zustand - Global state management

πŸš€ Installation and Setup

# Install dependencies
pnpm install

# Configure environment variables
cp .env.example .env.local
# Edit .env.local with your Supabase credentials

# Development mode
pnpm dev

# Production build
pnpm build
pnpm start

Required Environment Variables

Create a .env.local file in the project root:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

πŸ“ Project Structure

event-maple/
β”œβ”€β”€ app/                      # Next.js App Router
β”‚   β”œβ”€β”€ [locale]/            # Internationalized routes
β”‚   β”‚   β”œβ”€β”€ (auth)/          # Authentication route group
β”‚   β”‚   β”œβ”€β”€ (dashboard)/     # Protected route group
β”‚   β”‚   β”œβ”€β”€ page.tsx         # Landing page
β”‚   β”‚   └── layout.tsx       # Root layout
β”‚   └── api/                 # API Routes
β”œβ”€β”€ components/              # React Components
β”‚   β”œβ”€β”€ ui/                  # shadcn components
β”‚   β”œβ”€β”€ landing/             # Landing components
β”‚   β”œβ”€β”€ auth/                # Authentication components
β”‚   └── shared/              # Shared components
β”œβ”€β”€ messages/                # Translation files (en, es, fr, pt)
β”œβ”€β”€ lib/                     # Utilities and configuration
β”‚   β”œβ”€β”€ i18n/                # Internationalization config
β”‚   β”œβ”€β”€ supabase/            # Supabase client
β”‚   └── utils.ts             # Helpers
└── public/                  # Static files

πŸ“œ Available Scripts

  • pnpm dev - Development server
  • pnpm build - Production build
  • pnpm start - Production server
  • pnpm lint - ESLint linter

🀝 Contributing

Contributions are welcome! This is an open-source project created for the community.

How to contribute?

  1. Fork the project
  2. Create a branch for your feature (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add: Amazing Feature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Reporting Issues

If you find a bug or have a suggestion, please open an issue with:

  • Clear description of the problem or suggestion
  • Steps to reproduce (if it's a bug)
  • Screenshots if relevant
  • Your environment (browser, OS, etc.)

πŸ“„ License

This project is under the MIT License - see the LICENSE file for more details.

License summary:

  • βœ… Commercial use allowed
  • βœ… Modification allowed
  • βœ… Distribution allowed
  • βœ… Private use allowed
  • ⚠️ Attribution required - You must include the copyright notice and license

Important: This license applies to all content in this repository as of the date of each commit.


πŸ‘¨β€πŸ’» Author

Edwar DΓ­az


🌟 Acknowledgments

Thanks to the entire open-source community and everyone who uses, contributes, and supports EventMaple. This project was created with the purpose of facilitating event management for everyone.


πŸ“ž Support

If you have questions or need help:


⭐ If you find this project useful, consider giving it a star on GitHub ⭐

Made with ❀️ for the community

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •