Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build_pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ jobs:

- name: Generate PDF
run: |
swent_prd generate --team 26 template
swent_prd generate --team 14 template

- name: Upload PDF as artifact
uses: actions/upload-artifact@v3
with:
name: PRD-PDF
path: Team_26_prd.pdf
path: Team_14_prd.pdf
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
*egg-info/
Lib/*
Scripts/*
*.pyc
pyvenv.cfg
4 changes: 2 additions & 2 deletions template/0-heading.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# MVP PRD: Project Name
# MVP PRD: Event Radar

*[2024.04.20]*
*[2024.05.16]*

9 changes: 5 additions & 4 deletions template/1-overview.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Overview

*Maximum: 2 pages*
Event Radar is an innovative app designed to seamlessly combine both worlds of social media and event discovery. It brings all the functionalities event hosts and attendees need into a single platform. By focusing on building a vibrant local community, Event Radar aims to revolutionise the way people interact and form connections before, during and after events.

*What is this project about?*
Users can effortlessly discover and register for upcoming events, specific to their interests, location and curiosities. They can benefit from the app’s disruptive QR Code System, which allows them to easily connect with new friends, acquaintances and potential business associates by simply scanning a QR code. This strongly encourages people to engage with one another during an event and incites them to keep in touch and form new bonds.

*Describe succinctly and precisely its purpose.*
The app’s user-friendly eco-system allows for organisers and young entrepreneurs to easily manage and list their upcoming events at the tip of their fingers, all while leveraging on the app's unique QR code system to scan tickets and easily interact with event attendees. The app provides robust tools to manage events efficiently, from ticketing to attendee tracking. This comprehensive approach ensures that both attendees and hosts have an enhanced and streamlined experience, creating an environment for more dynamic and interactive events.

*Include a 3-sentence (max) elevator pitch.*
From creating and promoting your event, to sending broadcast messages to your attendees, all the way down to scanning tickets at the door, Event Radar really offers an innovative and complete product for ambitious event organisers to benefit from.

In summary, Event Radar is a versatile app that simplifies event discovery, connection-making, and event-hosting. Find and register to nearby events and connect instantly with new friends. Whether attending or hosting, Event Radar is the ultimate tool for social networking and event coordination, streamlining connections before, during, and after any form of gathering.
15 changes: 14 additions & 1 deletion template/10-timeline.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
# Timeline/Resource Planning

*What’s the overall schedule you’re working towards?*
- The MVP is planned to be finished over the course of 14 weeks. We are planning to finish the core user features over the span of 4 Milestones - the first 3 containing the core functionalities.

*What resources are required?*
- Team of 7 - 2 Figma UI/UX Developers, 2 front-end developers, 1 backend+devops, 2 software testers

*What are the intermediate milestones?*

*List identified sprints*
Milestone 1: Allow users to authenticate and browse for events
- Sprint 1: Setting up team environment on github, finalizing all user stories.
- Sprint 2: Wireframes and Mockups for app, app architecture diagram, app blue print.
- Sprint 3: Sign Up flow, user database, logging in, home page, app apk.
Milestone 2: Allow users to discover upcoming events, search for events and scan each other's qr codes.
- Sprint 4: Browsing events in map view and list view, looking at event details
- Sprint 5: Allow users to see upcoming events they registered for and search for events.
- Sprint 6: Allow users to view events they hosted, allow users to scan each other's QR Codes
Milestone 3: Allow users to send private messages, joining events, viewing friend profiles
- Sprint 7: Allow users to join events and buy tickets, assign users with a unique QR Code upon sign up
- Sprint 8: Allow users to message each other privately, allow users to view their friends profile, allow users to view their friend list
Milestone 4: Allow users to create events and manage them

3 changes: 2 additions & 1 deletion template/11-monetization.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Business Model

*Expected operating Costs*
- Server and infrastructure costs based on expected user load and data storage needs.

*Revenue Streams*

- Event promotion fees from organizers
9 changes: 1 addition & 8 deletions template/2-history.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
# History

*Maximum 1 page*

*Describe the V1 POC as planned by Sprint10.*

*What did you learn?*

*What is missing to bridge from PoC to MVP?*

The V1 PoC of Event Radar, as planned by Sprint 10, includes essential features that demonstrate the app's core functionalities (see more in the MVP section). At sign-up, users receive a unique QR code that acts as their event entry ticket and allows them to share their profile with others. Users can then browse and sign up for upcoming events, connect with other users by scanning their QR code, and engage in in-app private messaging. They will have the option to personalise their experience by customising their profiles, enabling them to connect more effectively with others and build a strong community. Additionally, event hosts can create/edit and promote their events, as well as scan tickets to verify entry permissions.
5 changes: 2 additions & 3 deletions template/3-analysis.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Analysis of the Situation

*What are the competing products in the market today?*

*What are the complementary products in the market today?*
The market for Event Radar is highly competitive, with several established players offering robust event management and discovery solutions. Key competitors include EventBrite, a leading global platform known for its comprehensive event creation and ticketing services. Resident Advisor focuses on electronic music events and nightlife, appealing to a niche but passionate audience. In Switzerland, Infomaniak, EventFrog, and Smeetz dominate the local event management scene, providing tailored solutions for various event types, from concerts to conferences. These competitors have established user bases and advanced features, presenting significant competition for Event Radar. However, none seem focused on facilitating the connection during events and providing an eco system to create communities, we therefore believe that Event Radar has significant potential in disrupting its market. TicketSwap provides a secure platform for reselling tickets to those who can no longer attend an event, addressing secondary market needs.

Complementary products in the market enhance the event discovery and attendance experience, aligning well with Event Radar’s objectives. Meetup facilitates social gatherings based on shared interests, driving community engagement similar to Event Radar’s goals. TicketSwap provides a secure platform for reselling tickets to those who can no longer attend an event, addressing secondary market needs. Social media apps like Facebook, Instagram, and X (formerly Twitter) are crucial for event promotion, allowing organizers to reach broader audiences and engage with potential attendees. Integrating these complementary products could enhance Event Radar's functionality, providing users with a seamless experience from event discovery to post-event connections.
11 changes: 7 additions & 4 deletions template/4-value_proposition.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# The Value Proposition

*Describe the value proposition and argue that it is:*
Event Radar is an all in one event discovery and networking platform.

*1. Easy to communicate*
It simplifies ones ability to network with others by enabling instant connections via its QR code system and in-app messaging and streamlines event organisation with efficient ticket scanning and attendee management tools.

*2. Defensible*
Users will no longer have to worry about forgetting to take someone’s contact. Keeping in touch with those you met during an event is as simple as scanning a Qr Code.

*3. Relevant*
Event hosts can manage their large attendee lists effortlessly using Event Radar’s event management tools and create communities thanks to Event Radar’s social media capabilities.

Our comprehensive solution helps build a sustainable user base and community driven environment that competes with more established solutions that do not address nor combine such functionalities.

Event Radar stays relevant as it meets the growing demand for seamless event experiences local to users in our digital age. It addresses the need for genuine connections, effective networking and relationship-building beyond event attendance, aligning with trends of social interaction and professional networking in both urban and academic environments.
61 changes: 58 additions & 3 deletions template/5-mvp.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,41 @@
## Personas and Scenarios

*Who are the target personas for this product?*
- **Event Attendees**: Students and young professionals who are interested in discovering and attending events in their area, ranging from social gatherings to professional networking events.
- **Event Hosts/Organizers**: Students, young professionals, or organizations responsible for planning and managing events, seeking tools to streamline event registration, ticketing, and attendee engagement, as well as promot their event to a young adult audience.

*Which is the key persona?*
- **University Student**: A university student who is actively involved in campus life and interested in exploring social and academic events both on and off campus. This persona values opportunities for networking, discovering new interests, and engaging in community activities.

*High-level scenarios to adopt, use and share the product.*
- **Adopting the Product**: A university student hears about Event Radar through a campus event promotion or fellow classmates. Intrigued by the idea of easily discovering and attending events and connecting with other event goers all in one centralized app, they download the app to explore upcoming activities relevant to their academic and personal interests.
- **Using the Product**: The student uses Event Radar to find and register for campus lectures, workshops, and social gatherings. They also discover off-campus events like local music shows and cultural festivals using the app's location-based event discovery feature.
- **Sharing the Product**: After a successful experience attending a campus event found through Event Radar, the student shares their enthusiasm with friends and classmates. They post about the app on social media platforms, recommending it as a valuable tool for staying connected and discovering exciting events both on and off campus. They even host some of their own events on the platform, making even more people aware of it.

## User Stories and Key Features

*User stories about how various personas will use the product in context.*

*Identify and prioritise the key features required.*
- As an event goer, I want to view a list of nearby events, so that I can decide which event to go to next to socialise and meet new people.
- As an event goer, I want to have a unique identification ticket that allows me access to events I register for, so that I can easily access events and participate seamlessly.
- As an event goer, I want to scan the QR codes of people I meet so that I can keep track of who I met and catch up with them later.
- As an event goer, I want to view a list of people whose QR codes I have scanned at events, so that I can easily recall who I met.
- As an event goer, I want to be able to initiate private messages with people whose QR codes I scanned in an event, so that I can connect with them without exchanging contact information manually and communicate with them outside of the event context.
- As an event organizer I want to be able to create events on the app so that people can register and stay informed about the planning.

*Identify and prioritise the key features required.*
In order of priority:
1. browse/discover events (event goer)
2. join/register for an event (event goer)
3. create/edit an event (event host)
4. generate QR code
5. scan QR code to add a friend (event goer)
6. scan QR code to verify event goer status (event host)
7. view/message friends (event goer)

*Justify the importance of each feature.*
- the first 2 key features have to do with Epic 1: allowing event goers to discover events. this is important because this is the entry point to the app, and how we will engage users further
- feature 3 and 6 are important for Epic 3 which focuses on the event host
- features 4, 5, and 7 are associated with Epic 2, which is the main differentiator of our app: being able to better communicate with friends and fellow event goers

## Success Criteria

Expand All @@ -24,11 +47,43 @@

*If applicable, progress in discussions with ecosystem partners / investors / customers.*

**User Engagement Metrics:**
- Measure user adoption rate: Number of downloads and active users.
- Track user interactions: Frequency of event registrations, QR code scans, and friend connections made through the app.
- Analyze user feedback: Gather user reviews and ratings to assess satisfaction and identify areas for improvement.

**Event Performance Metrics:**
- Monitor event hosting activities: Number of events created and managed using Event Radar.
- Evaluate ticketing and attendance: Track ticket sales, check-ins, and attendee feedback for hosted events.
- Assess event success: Gather post-event surveys to understand attendee experiences and event organizer satisfaction.

## Features Outside the Scope

*The MVP must be viable and minimal.*

*Which features don’t belong in it.*

*How should these be eventually integrated and in what sequence.*
**Advanced Social Networking Features:**
- Social feeds or timelines for user interactions.

**Complex Event Management Tools:**
- Advanced ticketing options (e.g., reserved seating, discount codes).
- Comprehensive event analytics and reporting.
- Integration with third-party payment gateways.

**Extensive Partner Integrations:**
- Integration with external calendar apps (e.g., Google Calendar, Apple Calendar).
- Deep integrations with event venues or organizations for collaborative event management.

*How should these be eventually integrated and in what sequence.*
**Implement Iterative Feature Updates:**
- Define a roadmap for feature integration based on user feedback and market demands.
- Gradually introduce additional features in subsequent iterations or updates of the app post-MVP launch.

**User Feedback and Iterative Development:**
- Gather user feedback through app usage and surveys to identify feature priorities and pain points.
- Incorporate user insights into feature planning and development cycles to align with user needs and expectations.

**Manage Development Resources Efficiently:**
- Allocate development resources strategically to balance MVP refinement and feature expansion.
- Evaluate technical feasibility and resource requirements for integrating new features into the app sequence.
9 changes: 8 additions & 1 deletion template/6-non_functional_requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,21 @@
## Security, privacy, and data retention policies

*Which are the applicable laws and regulations?*
- Comply with GDPR for users in Europe regarding data protection and privacy.
- Adhere to any local privacy laws based on the geographical operation.

*What are your internal policies?*
- Regular audits and compliance checks to ensure ongoing adherence to all applicable laws.

*Which privacy features do you need from the phone?*
- Access to camera for QR code scanning.
- Access to current user location to find and suggest local events.

## Adoptions, Scalability and Availability

*What kind of traffic patterns do you expect to see?*
- Predict regular weekend peaks due to event searches and registrations.
- Anticipate high traffic during popular cultural and sporting event periods.

*Are there known periods of bursty traffic that the MVP must be designed to support?*

- When multiple users join an event concurrently, there should be atomic changes to the database.
12 changes: 11 additions & 1 deletion template/7-functional_requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,18 @@
*Max 3 pages.*

*List the key features of the MVP precisely.*
- Browse and discover nearby events.
- Registering to join events.
- Create and manage events including location and attendee details.
- QR code scanning for both friendship connections and event entry verification.
- Secure messaging system to communicate with contacts made at events.

*Include appropriate architectural diagrams.*
![architecture diagram](images/architecture-diagram.png)
[Image Link](https://excalidraw.com/#json=n2223D8IlggcIHplABkOC,MMKRiq6O-Cz21lEovHRE3w)
_revised 1/5/2024_

*Describe key internal functionality.*

- Real-time event updates to users based on location and preferences.
- Backend logic for QR code generation and scanning.
- Integration of the messaging system with user profiles and event details.
7 changes: 7 additions & 0 deletions template/8-user_analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,17 @@
*Goal: understand how users are using the app.*

*Which are the key metrics?*
- User engagement metrics: downloads, active users, event registrations, QR scans.
- Event success metrics: number of events hosted, attendee feedback, ticketing data.

*What is the success criteria?*
- Achieve a set number of active users and event listings within the first six months.
- Maintain high user satisfaction ratings and positive feedback on event management features.

*What is the analysis plan (link to data collection)?*
- Analysis of user behavior according to: number of active users, session length, frequency of app usage.
- Analysis of popular events according to: number of events created, number of events attended, types of events most attended.

*Include relevant A/B testing ideas.*
- Test different layouts for the event discovery screen to optimize user engagement.

24 changes: 22 additions & 2 deletions template/9-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,54 @@
## Frontend

*List the key libraries, languages, components used by the MVP.*
- Key Libraries/Languages: Kotlin, Hilt, Material3, Jetpack Compose, Firebase, Android Camera Image Analysis.

*If applicable, describe essential screens.*

- Home screen, Event Details, User Profile, Messaging, Event Creation.
## Backend

*Decompose the MVP into functional blocks.*
- User Management: Handles registrations, profiles, and settings.
- Event Management: Creates and updates events, manages tickets.
- Messaging System: Manages communication between users.

## Data Model

*What data are you collecting / managing?*
- User data: Names, email addresses, user's friends, user bios, user profile pictures.
- Event data: Event locations, categories, start and end date, ticket price, tickets purchased, participant lists, organiser lists.

*How is it organised?*
- Using firebase database for user and event data.
- Using firebase storage for QR Code Images, Profile Photos and Event Photos.

*Where is it stored?*
- Firebase Database
- Firestore Storage

*How is it shared/copied/cached?*
- Utilize Firestore’s built-in caching on the client side to reduce latency and enhance the user experience by serving data from cache.

## Security Considerations

## Infrastructure and Deployment

*How is the application developed, tested and deployed?*
- Deploy on cloud platforms like AWS or Azure to ensure high availability and scalability.

*Any special infrastructure requirements.*
- Use Firebase Authentication to secure APIs. Ensure that data requests are authenticated and users can only access data relevant to them.
- Use HTTPS for all communications between the app and servers.


## Test Plan

*How is the application developed, tested and deployed?*
- Utilize CI/CD pipelines for efficient testing and deployment.
- UI tests to ensure UI components run smoothly.
- ViewModel tests to ensure that appropriate states are prepared for UI.
- Backend testing using Mocks to ensure backend services like firebase work as expected.
- Integration testing to ensure the app runs smoothly.

*Any special infrastructure requirements.*

- Utilizing hilt for dependency injection in testing.
Binary file added template/images/architecture-diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.