A React Native mobile application for sharing spare gig tickets within the community.
Built by isLoading team as part of the Northcoders bootcamp final project.
🔗 Back-end Repository: Giggle BE
Giggle connects fellow gig-goers who share your style of outing, no matter how big or small the artist. Share spare tickets among the Giggle user base – strictly no reselling! Just sharing music and art to build community and support local venues.
The app focuses on free ticket sharing with no reselling and provides an ability to match with people who share the same gig-going style as you.
- Browse Events: Scrollable list of upcoming concerts, comedy shows, and local art exhibitions
- Real-time Search: Search by keywords with instant results
- Smart Filtering: Sort events by date, artist, or location
- Multi-city Support: View events happening in different cities
- Event Integration: Add new events via Ticketmaster Discovery API
- List Tickets: Upload spare tickets with seating type and additional notes
- Find Tickets: Browse available tickets from other users
- Status Tracking: Visual indicators for taken/available tickets
- No Reselling Policy: Strictly community-based free sharing
- Detailed Profiles: First/last name, username, location, profile picture, and bio
- Gig Preferences: Tags for seat preference, singing, moshing, filming style, etc.
- Profile Compatibility: Choose ticket sharers based on compatible gig-going styles
- Editable Profiles: Users can update their details and preferences
- Instant Chat: Powered by Socket.IO for live communication
- Chat Rooms: Structured messaging system similar to WhatsApp/Messenger
- Message History: Persistent conversation storage
- Active Conversations: Easy access to ongoing chats
- Secure Registration: Unique username/email requirements
- Password Security: Bcrypt hashing - no plain text storage
- Login Validation: Secure password comparison against stored hashes
- Node.js (v14 or higher)
- npm
- Expo CLI (optional but recommended)
- Access to the Giggle backend API
- Clone the repository:
git clone https://github.com/Andipascale7/giggle-fe.git
cd giggle-fe- Install dependencies:
npm install- Start the development server:
npx expo startPrimary Platform: Android (tailored for Android devices)
- Expo Go: Scan QR code with Expo Go app
- Android Emulator: Press
ain terminal - Web Browser: Press
win terminal (limited functionality)
- React Native with Expo
- TypeScript for type safety
- Expo Router (file-based routing)
- Socket.IO Client for real-time messaging
- Sign Up/Login: Secure authentication with hashed passwords
- Discover Events: Browse or search for upcoming gigs
- List Tickets: Upload spare tickets with details and notes
- Find Tickets: Search available tickets from other users
- Check Profiles: View ticket holders' gig-going preferences
- Chat: Message other users about tickets and arrangements
- Add Events: Integrate new events via Ticketmaster API if not in database
- Working in agile environment and collaborative Git workflows
- Integrating multiple new technologies (React Native, Socket.IO, MongoDB)
- Implementing real-time communication with Socket.IO
- Managing merge conflicts and team-based development
- Building mobile-first applications with cross-platform considerations
- Read receipts for messages
- Typing indicators in chat
- Push notifications
- End-to-end encryption for enhanced security
- iOS optimization and testing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Building community through music, one shared ticket at a time 🎸