Uevent: Your Ultimate Event Management Platform
Developed with the software and tools below.
Uevent is a comprehensive event management platform that connects users with events and companies. The platform allows users to discover, follow, and purchase tickets for events, follow companies, and manage their event attendance. With a modern, intuitive interface, Uevent provides a seamless experience for event discovery, ticket purchasing, and social engagement around events.
- User Authentication: Secure login, registration, and account management
- Event Discovery: Browse and search for events with filtering options
- Company Profiles: Follow companies and stay updated with their events
- Ticket Management: Purchase and manage event tickets
- Interactive Maps: Location-based event discovery with Google Maps integration
- User Profiles: Personalized profiles with upcoming and past events
- Notifications: Real-time updates for followed events and companies
- Responsive Design: Seamless experience across all devices
- Core: TypeScript, React, React DOM, React Router DOM, Vite
- State Management: Zustand
- Styling: Tailwind CSS, shadcn/ui, Radix UI
- Icons: Lucide React
- API Communication: Axios
- Data Fetching: React Query
- Form Handling: React Hook Form, Zod
- Date Handling: Day.js
- Maps Integration: Google Maps API
- Development: ESLint, Prettier, PostCSS, Husky
- Containerization: Docker
- Clone the uevent-fe repository:
git clone https://github.com/maxkrv/uevent-fe- Change to the project directory:
cd uevent-fe
- Install the dependencies:
npm install
Use the following command to run Uevent in development mode:
npm run dev
The application will be available at http://localhost:3000 (or the port specified in your Vite configuration).
To build the application for production:
npm run build
To preview the production build locally:
npm run preview
src/
βββ assets/ # Static assets like logos
βββ config/ # Application configuration
βββ modules/ # Feature-based modules
β βββ auth/ # Authentication related components
β βββ company/ # Company related components
β βββ event/ # Event related components
β βββ ticket/ # Ticket related components
β βββ user/ # User profile related components
β βββ ...
βββ shared/ # Shared utilities, components, and hooks
β βββ api/ # API client setup
β βββ components/ # Reusable UI components
β βββ guards/ # Route guards
β βββ hooks/ # Custom React hooks
β βββ lib/ # Library configurations
β βββ store/ # Global state management
β βββ types/ # TypeScript type definitions
β βββ utils/ # Utility functions
β βββ validators/ # Form validation schemas
βββ styles/ # Global styles
The application requires the following environment variables:
VITE_API_URL=your_api_url
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
VITE_GOOGLE_CLIENT_ID=your_google_client_id
Create a .env file in the root directory and add these variables with your specific values.
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for Uevent.
`Contributing Guidelines`
`- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/maxkrv/uevent-fe
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
This project is licensed under the MIT License - see the LICENSE file for details.