Skip to content

roshanRobyn/EvEr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EvEi Mobile App - Complete Implementation

A comprehensive React Native mobile application for the Discord Event Management System (EvEi). This app provides students and club administrators with a seamless way to discover, register for, and manage events.

πŸš€ Features

For Students

  • Event Discovery: Browse and search for upcoming events
  • Smart Filtering: Filter events by category, date, location, and more
  • One-Click Registration: Simple event registration process
  • QR Code Check-in: Quick attendance tracking via QR codes
  • Personal Dashboard: View registered events and attendance history
  • Real-time Updates: Get notified about event changes

For Club Administrators

  • Event Management: Create, edit, and manage events
  • Attendance Tracking: QR code generation and scanning for check-ins
  • Registration Management: View and manage event registrations
  • Analytics Dashboard: Event performance and attendance analytics
  • Data Export: Export attendance data to Excel/CSV
  • Host Settings: Comprehensive event management tools

πŸ“± Screenshots

The app includes:

  • Welcome Screen: Onboarding for new users
  • Authentication: Login and registration screens
  • Home Screen: Event feed with upcoming events
  • Explore Screen: Advanced search and filtering
  • Event Details: Complete event information and registration
  • Profile Screen: User dashboard and preferences
  • Host Settings: Club admin management tools (for club admins only)

πŸ›  Tech Stack

  • Framework: React Native with Expo
  • Navigation: React Navigation 6
  • State Management: React Context API
  • Backend: Firebase (Firestore, Auth, Storage)
  • UI Components: Custom components with consistent design system
  • Camera Integration: Expo Camera for QR scanning
  • Icons: Expo Vector Icons

πŸ“‹ Prerequisites

Before running the app, make sure you have:

  1. Node.js (v16 or higher)
  2. npm or yarn
  3. Expo CLI (npm install -g @expo/cli)
  4. Expo Go app on your mobile device
  5. Firebase project with proper configuration

πŸš€ Getting Started

1. Install Dependencies

cd evei-mobile-fresh
npm install --legacy-peer-deps

2. Configure Firebase

Update the Firebase configuration in src/config/firebase.js:

const firebaseConfig = {
  apiKey: "your-api-key",
  authDomain: "your-project.firebaseapp.com",
  projectId: "your-project-id",
  storageBucket: "your-project.appspot.com",
  messagingSenderId: "your-sender-id",
  appId: "your-app-id"
};

3. Set Environment Variables

Create a .env file in the root directory:

EXPO_PUBLIC_FIREBASE_PROJECT_ID=your-project-id

4. Start the Development Server

npx expo start

Or use the provided batch file:

./start-app.bat

5. Run on Device

  1. Install Expo Go from App Store (iOS) or Google Play (Android)
  2. Scan the QR code displayed in the terminal
  3. The app will load on your device

πŸ“ Project Structure

evei-mobile-fresh/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ EventCard.js     # Event display component
β”‚   β”‚   └── QRCodeScanner.js # QR code scanning component
β”‚   β”œβ”€β”€ contexts/            # React Context providers
β”‚   β”‚   β”œβ”€β”€ AuthContext.js   # Authentication state management
β”‚   β”‚   └── EventsContext.js # Events state management
β”‚   β”œβ”€β”€ navigation/          # Navigation configuration
β”‚   β”‚   β”œβ”€β”€ AppNavigator.js  # Main app navigation
β”‚   β”‚   └── TabNavigator.js  # Bottom tab navigation
β”‚   β”œβ”€β”€ screens/             # App screens
β”‚   β”‚   β”œβ”€β”€ auth/            # Authentication screens
β”‚   β”‚   β”‚   β”œβ”€β”€ WelcomeScreen.js
β”‚   β”‚   β”‚   β”œβ”€β”€ LoginScreen.js
β”‚   β”‚   β”‚   └── RegisterScreen.js
β”‚   β”‚   β”œβ”€β”€ main/            # Main app screens
β”‚   β”‚   β”‚   β”œβ”€β”€ HomeScreen.js
β”‚   β”‚   β”‚   β”œβ”€β”€ ExploreScreen.js
β”‚   β”‚   β”‚   β”œβ”€β”€ ProfileScreen.js
β”‚   β”‚   β”‚   └── HostSettingsScreen.js
β”‚   β”‚   └── EventDetailsScreen.js
β”‚   β”œβ”€β”€ styles/              # Design system and themes
β”‚   β”‚   └── theme.js         # Colors, typography, spacing
β”‚   └── config/              # Configuration files
β”‚       └── firebase.js      # Firebase configuration
β”œβ”€β”€ App.js                   # Main app component
β”œβ”€β”€ package.json             # Dependencies and scripts
└── README.md               # This file

🎨 Design System

The app uses a consistent design system with:

Colors

  • Primary: #007AFF (iOS Blue)
  • Success: #34C759 (Green)
  • Warning: #FF9500 (Orange)
  • Error: #FF3B30 (Red)
  • Background: #F2F2F7 (Light Gray)

Typography

  • Headings: Bold, various sizes (28px, 22px, 18px)
  • Body Text: Regular, 14px-16px
  • Small Text: 12px for secondary information

Components

  • Cards: Rounded corners, subtle shadows
  • Buttons: Primary, secondary, and text variants
  • Inputs: Consistent styling with focus states

πŸ”§ Key Features Implementation

Authentication

  • Email/password authentication via Firebase Auth
  • Role-based access (Student vs Club Admin)
  • Automatic user profile creation
  • Secure session management

Event Management

  • Real-time event synchronization
  • Advanced search and filtering
  • Category-based organization
  • Registration management

QR Code System

  • Dynamic QR code generation for events
  • Camera-based QR scanning
  • Offline scanning support
  • Attendance tracking

Navigation

  • Tab-based navigation for main screens
  • Stack navigation for detailed views
  • Role-based tab visibility
  • Smooth transitions

πŸ“± User Flows

Student Flow

  1. Onboarding: Welcome β†’ Register/Login
  2. Discovery: Home β†’ Browse Events β†’ Event Details
  3. Registration: Event Details β†’ Register β†’ Confirmation
  4. Attendance: QR Scan β†’ Check-in Confirmation
  5. Profile: View registered events and history

Club Admin Flow

  1. Authentication: Login with admin credentials
  2. Management: Host Settings β†’ Create/Manage Events
  3. Tracking: QR Scanner β†’ Record Attendance
  4. Analytics: View registration and attendance data
  5. Export: Download attendance reports

πŸ”’ Security Features

  • Authentication: Secure Firebase Auth integration
  • Data Validation: Input sanitization and validation
  • Role-based Access: Different UI based on user roles
  • Secure Storage: Firebase security rules
  • Error Handling: Graceful error management

πŸš€ Performance Optimizations

  • Lazy Loading: Components loaded on demand
  • Image Optimization: Compressed images with caching
  • Real-time Updates: Efficient Firestore listeners
  • Offline Support: Core features work without internet
  • Bundle Optimization: Code splitting and tree shaking

πŸ§ͺ Testing

The app includes:

  • Component Testing: Individual component tests
  • Integration Testing: Screen flow tests
  • E2E Testing: Complete user journey tests
  • Device Testing: Multiple device and OS testing

πŸ“¦ Deployment

Development

  • Use Expo Go for development testing
  • Hot reloading for rapid development
  • Debug tools and error tracking

Production

  • Build standalone apps for iOS and Android
  • App Store and Google Play deployment
  • Over-the-air updates via Expo

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

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

πŸ†˜ Troubleshooting

Common Issues

  1. Metro bundler errors: Clear cache with npx expo start -c
  2. Firebase connection: Check your Firebase configuration
  3. QR scanner not working: Ensure camera permissions are granted
  4. App not loading: Check network connection and Expo Go version

Getting Help

πŸ“ž Support

For support and questions:

  • Create an issue in the repository
  • Check existing documentation
  • Contact the development team

EvEi Mobile App - Making event management simple and efficient! πŸŽ‰

About

EvEr App- Event Radar and Hosting App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors