From 912618557cce8b3320fa46d69d35a903784c5a0d Mon Sep 17 00:00:00 2001 From: octogradiste Date: Wed, 15 May 2024 11:06:02 +0200 Subject: [PATCH 01/19] Change team number to 9 --- .github/workflows/build_pdf.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_pdf.yml b/.github/workflows/build_pdf.yml index 96675673..b0d8b97a 100644 --- a/.github/workflows/build_pdf.yml +++ b/.github/workflows/build_pdf.yml @@ -37,10 +37,10 @@ jobs: - name: Generate PDF run: | - swent_prd generate --team 26 template + swent_prd generate --team 9 template - name: Upload PDF as artifact uses: actions/upload-artifact@v3 with: name: PRD-PDF - path: Team_26_prd.pdf + path: Team_09_prd.pdf From d6797ea1ff6c162218b7011c4d7b069a3260f4c2 Mon Sep 17 00:00:00 2001 From: Noah Robert <48415000+Greenade@users.noreply.github.com> Date: Wed, 15 May 2024 14:43:18 +0200 Subject: [PATCH 02/19] Update 0-heading.md add the project title --- template/0-heading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/0-heading.md b/template/0-heading.md index ba21a556..7b4ea53e 100644 --- a/template/0-heading.md +++ b/template/0-heading.md @@ -1,4 +1,4 @@ -# MVP PRD: Project Name +# MVP PRD: Echo *[2024.04.20]* From ef30a38975431f1cb27506258aff8f700c548d06 Mon Sep 17 00:00:00 2001 From: srsingh04 <57002643+srsingh04@users.noreply.github.com> Date: Fri, 17 May 2024 12:14:08 +0200 Subject: [PATCH 03/19] Update 2-history.md --- template/2-history.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/template/2-history.md b/template/2-history.md index 3372784b..96d60da1 100644 --- a/template/2-history.md +++ b/template/2-history.md @@ -8,3 +8,6 @@ *What is missing to bridge from PoC to MVP?* +* Basic features such as joining and creating events. + +* Missing: lacking features which enable users to communicate amongst themselves. From 608ae05eb578ca2dadb99a604e5fedad4c2871b8 Mon Sep 17 00:00:00 2001 From: srsingh04 <57002643+srsingh04@users.noreply.github.com> Date: Fri, 17 May 2024 12:17:06 +0200 Subject: [PATCH 04/19] Update 3-analysis.md Analysis draft PRD --- template/3-analysis.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/template/3-analysis.md b/template/3-analysis.md index 509fbb0b..ed6743e8 100644 --- a/template/3-analysis.md +++ b/template/3-analysis.md @@ -4,3 +4,6 @@ *What are the complementary products in the market today?* +* Currently, students are notified of the events on campus through emails or through unofficial telegram channels or instagram accounts. + +* There is a certain need to regroup all the information at one place such that the user only sees events which interest them. From c4e0c918d458b5b7166acf606ab5c543f5951850 Mon Sep 17 00:00:00 2001 From: Jonas Sulzer Date: Fri, 17 May 2024 23:47:03 +0200 Subject: [PATCH 05/19] =?UTF-8?q?=F0=9F=90=9B=20FIX:=20ci=20build=20output?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Sulzer --- .github/workflows/build_pdf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_pdf.yml b/.github/workflows/build_pdf.yml index b0d8b97a..7ea34ca0 100644 --- a/.github/workflows/build_pdf.yml +++ b/.github/workflows/build_pdf.yml @@ -43,4 +43,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: PRD-PDF - path: Team_09_prd.pdf + path: Team_9_prd.pdf From 68776f3c5f3d06917a36a03f4e762cdbf6338593 Mon Sep 17 00:00:00 2001 From: Noah Robert <48415000+Greenade@users.noreply.github.com> Date: Mon, 3 Jun 2024 11:20:52 +0200 Subject: [PATCH 06/19] Update 8-user_analytics.md first draft --- template/8-user_analytics.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/template/8-user_analytics.md b/template/8-user_analytics.md index 3fdb9feb..5419e624 100644 --- a/template/8-user_analytics.md +++ b/template/8-user_analytics.md @@ -1,12 +1,24 @@ # User Analytics and Acceptance -*Goal: understand how users are using the app.* +## Usage metrics -*Which are the key metrics?* +Feature use : What screens are the most used +User retention : Rate of users that keep using the app +User engagement : Users interactions with events (creation, joining, searching) -*What is the success criteria?* +## Success criteria -*What is the analysis plan (link to data collection)?* +1. High user engagement and retention +2. Feature use is balanced, and no features are underused +3. Zero to few crashes or bugs -*Include relevant A/B testing ideas.* +## User analytics +1. Implement google analytics for behavioral tracking +2. Anonymize data for privacy + +## A/B testing ideas + +1. Experiment different graphical layouts to display events or associations. +2. Test navigations flows to make sure layouts are user friendly. +3. Make overviewed user tests for the UI From a610e2caa041a0d4aaa1e40aa956e30bf586c1ef Mon Sep 17 00:00:00 2001 From: Noah Robert <48415000+Greenade@users.noreply.github.com> Date: Mon, 3 Jun 2024 11:21:18 +0200 Subject: [PATCH 07/19] Update 8-user_analytics.md --- template/8-user_analytics.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/template/8-user_analytics.md b/template/8-user_analytics.md index 5419e624..3bce9084 100644 --- a/template/8-user_analytics.md +++ b/template/8-user_analytics.md @@ -3,7 +3,9 @@ ## Usage metrics Feature use : What screens are the most used + User retention : Rate of users that keep using the app + User engagement : Users interactions with events (creation, joining, searching) ## Success criteria From cb795f344957aca646f6d46049a290f4b2996a98 Mon Sep 17 00:00:00 2001 From: alejandrocalles Date: Fri, 7 Jun 2024 05:23:04 +0200 Subject: [PATCH 08/19] Add value proposition. --- template/4-value_proposition.md | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/template/4-value_proposition.md b/template/4-value_proposition.md index 449ebbcb..b52347d7 100644 --- a/template/4-value_proposition.md +++ b/template/4-value_proposition.md @@ -1,5 +1,48 @@ # The Value Proposition +Echo offers a centralized platform both for potential event participants and event organizers. Organizers are offered facilities to create events and +share them to targeted users (e.g. followers) but also to the general public. Said audience is able to find, discover and be notified of events geared +to their interests. The relationship between participants and organizers is the cornerstone of our value proposition. +While our POC was definitely geared towards users on the audience end of the relationship, our vision is to offer value to both ends. + +To the audience, we offer: + +- A user-friendly tool to find events aligned with their interests and hobbies, or to expand them by discovering nearby events from previously unkown categories. + +- A personnalized feed of recommendations for events they might want to attend. +At the beginning, the feed is based on simple user analytics, such as tags in their profile, in that of their friends or in the associations they follow, +but also on their activity: events that they, or their friends, have participated in, interactions with said events, etc. This value would +only increase with time and growth of user count, as more data would allow for more complex sorting algorithms. + +- A platform to stay informed in real-time about events happening around them. + +To the event creators, we offer: + +- A platform where they can share their events with known participants, but that also allows them to reach new audiences. + +- A platform to centralize all their hosting related needs: ticketing, advertising, real-time communication with participants. + +Most associations at EPFL are familiar with the struggles of hosting events, such as finding participants, deal with communication and +advertising. +Echo offers a clear benefit to them because it provides direct support in these struggles. +Furthermore, there is nothing specific to EPFL about these struggles, so we can safely affirm that this benefits apply to any association or +individual hosting an event, which is why, even if EPFL would be our starting point, the value we provide supercedes any geographical boundary. + +Furthermore, Echo presents itself as an attractive tool to potential participants, because it removes +the need to scrape their social media feed, their mailbox and the web just to find an enjoyable activity to participate in. + +Echo is definitely relevant to the student population, students probably being the most frequent creators of events and the most frequent participants. +Nonetheless, given that anyone is free to create and share an event about anything, Echo will find its relevance even in the most niche population +segments. + +Fundamentally, Echo provides a variety of services to both participants and organizers, and a number of such services shall be hidden behind a paywall, or +include a small fee (e.g. for ticketing). + +Finally, the nature of the app makes it extremely easy to collect advertising fees, or event to strike deals with companies who wish to promote their events. + +However, Echo must ensure that said monetization doesn't interfere in any significant way with customer acquisition or with the usability of the app. + + *Describe the value proposition and argue that it is:* *1. Easy to communicate* From 40e7ec6a2051832c37a36a38ad8e624cc40e4207 Mon Sep 17 00:00:00 2001 From: alejandrocalles Date: Fri, 7 Jun 2024 19:40:07 +0200 Subject: [PATCH 09/19] Update value proposition --- template/4-value_proposition.md | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/template/4-value_proposition.md b/template/4-value_proposition.md index b52347d7..8fb5e7c3 100644 --- a/template/4-value_proposition.md +++ b/template/4-value_proposition.md @@ -22,32 +22,22 @@ To the event creators, we offer: - A platform to centralize all their hosting related needs: ticketing, advertising, real-time communication with participants. -Most associations at EPFL are familiar with the struggles of hosting events, such as finding participants, deal with communication and +Most associations at EPFL are familiar with the struggles of hosting events, such as finding participants or dealing with communication and advertising. Echo offers a clear benefit to them because it provides direct support in these struggles. -Furthermore, there is nothing specific to EPFL about these struggles, so we can safely affirm that this benefits apply to any association or +Furthermore, there is nothing specific to EPFL about these pain points, so we can safely affirm that this benefits apply to any association or individual hosting an event, which is why, even if EPFL would be our starting point, the value we provide supercedes any geographical boundary. Furthermore, Echo presents itself as an attractive tool to potential participants, because it removes the need to scrape their social media feed, their mailbox and the web just to find an enjoyable activity to participate in. -Echo is definitely relevant to the student population, students probably being the most frequent creators of events and the most frequent participants. -Nonetheless, given that anyone is free to create and share an event about anything, Echo will find its relevance even in the most niche population +Echo is definitely relevant to the EPFL student population, students probably being the most frequent creators of events and the most frequent participants. +Nonetheless, as long as anyone is free to create and share an event about anything, Echo will find its relevance even in the smallest population segments. -Fundamentally, Echo provides a variety of services to both participants and organizers, and a number of such services shall be hidden behind a paywall, or -include a small fee (e.g. for ticketing). +At its core, Echo provides a wide array of services to both participants and organizers, and a number of such services will include a small fee (e.g. for ticketing). -Finally, the nature of the app makes it extremely easy to collect advertising fees, or event to strike deals with companies who wish to promote their events. +Finally, the nature of the app makes it particularly easy to collect advertising fees, or even to strike deals with companies who wish to promote their events. However, Echo must ensure that said monetization doesn't interfere in any significant way with customer acquisition or with the usability of the app. - -*Describe the value proposition and argue that it is:* - -*1. Easy to communicate* - -*2. Defensible* - -*3. Relevant* - From 7e27106b7b2418e59ba382aadd8e959224891d17 Mon Sep 17 00:00:00 2001 From: alejandrocalles <93183300+alejandrocalles@users.noreply.github.com> Date: Fri, 7 Jun 2024 19:50:41 +0200 Subject: [PATCH 10/19] Update 4-value_proposition.md --- template/4-value_proposition.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/template/4-value_proposition.md b/template/4-value_proposition.md index 8fb5e7c3..ca6094e2 100644 --- a/template/4-value_proposition.md +++ b/template/4-value_proposition.md @@ -31,6 +31,8 @@ individual hosting an event, which is why, even if EPFL would be our starting po Furthermore, Echo presents itself as an attractive tool to potential participants, because it removes the need to scrape their social media feed, their mailbox and the web just to find an enjoyable activity to participate in. +Echo offers particular value to individuals looking to meet new people, make new friends and improve their social insertion. + Echo is definitely relevant to the EPFL student population, students probably being the most frequent creators of events and the most frequent participants. Nonetheless, as long as anyone is free to create and share an event about anything, Echo will find its relevance even in the smallest population segments. From 547838091ba483e6ec34fa133e2ccbabf41089c7 Mon Sep 17 00:00:00 2001 From: Jonas Sulzer Date: Thu, 6 Jun 2024 19:08:09 +0200 Subject: [PATCH 11/19] =?UTF-8?q?=F0=9F=93=96=20DOC:=20Design=20and=20Impl?= =?UTF-8?q?ementation=20part=20of=20the=20PRD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Sulzer --- template/9-design.md | 110 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 96 insertions(+), 14 deletions(-) diff --git a/template/9-design.md b/template/9-design.md index d9872a1d..ae1e2e3d 100644 --- a/template/9-design.md +++ b/template/9-design.md @@ -2,35 +2,117 @@ ## Frontend -*List the key libraries, languages, components used by the MVP.* +### Implementation framework -*If applicable, describe essential screens.* +The app is developed in Kotlin using Jetpack Compose using an MVVM architecture. The repository architecture is used for having a single interface for all data. + +Furthermore the following libraries are used: +- Supabase: interaction with the backend +- Google Auth: for users wishing to sign in using it +- Maplibre: for a modern vector-rendering map; the central element of the app +- Google Play Location Service +- Hilt: depenency injection +- Room: local DB for synchronisation and caching + + +### Primary screens +- Main screen: map with events, allowing searching and filtering and discovery +- Secondary screen: list mode for events; the same search/filtering is applied +- Other screens: + - My Events: allows to see created and joined events + - My Profile: allows to modify the users profile + - Create Event: screen to create events + - Associations: shows associations and the relation the user is with them (following, committee member) ## Backend -*Decompose the MVP into functional blocks.* +The backend server hosts all necessary data and enforces access policies. We are using Supabase which combines a series of industry standard tools into a nice consolidated API with its library. Supabase provides authentication of users (additionnaly via Google OAuth), storage of structured data and object storage for files. +Access and modification is restricted based on the type and ownership of the element. ## Data Model -*What data are you collecting / managing?* +Alll the structured data i stored in the PostgreSQL database integrated into Supabase. -*How is it organised?* +### Authless Data -*Where is it stored?* +#### Tags -*How is it shared/copied/cached?* +Purpose - Contains all the available tags. Tags include categories of type of events/interests as well as specific ones like Sections or Semester for the campus context. -## Security Considerations +Fields - Tag Id (Primary Key), Name, Parent Id -## Infrastructure and Deployment +#### Events -*How is the application developed, tested and deployed?* +Purpose - Contains information about all events added to the app. -*Any special infrastructure requirements.* +Fields - Event Id (Primary Key), Creator Id, Organizer Id, Title, Description, Start Timestamp, End Timestamp, Location (Name, Long, Lat), Participant Count, Max Particiants -## Test Plan +##### Event Tags + +Purpose - Records represent tags assigned to an event. + +Fields - Tag Id (Foreign Key), Event Id (Foreign Key) (Composite Primary Key) + +#### Associations + +Purpose - Contains information about the validated associations. + +Fields - Association Id (Primary Key), Name, Description, Url + +##### Association Tags + +Purpose - Records represent tags assigned to an association. + +Fields - Tag Id (Foreign Key), Association Id (Foreign Key) (Composite Primary Key) + + +### Auth UserData + +#### User Profiles + +Purpose - Contains information about the user + +Fields - User Id (Foreign Key) (Primary Key), Name + +##### User Tags -*How is the application developed, tested and deployed?* +Purpose - Records represent tags assigned to a user. -*Any special infrastructure requirements.* +Fields - User Id (Foreign Key), Tag Id (Foreign Key) (Composite Primary Key) + +##### Association Subscribtion + +Purpose - Records represent users which follow associations. + +Fields - User Id (Foreign Key), Association Id (Foreign Key) (Composite Primary Key) + +##### Committee Member + +Purpose - Records represent which users are member of a committee of an association and therefore get the right to publish in the name of the association. + +Fields - User Id (Foreign Key), Association Id (Foreign Key) (Composite Primary Key) + +##### Event Joins + +Purpose - Records represent a user having joined (e.g. signed up for) a specific event. + +Fields - User Id (Foreign Key), Event Id (Foreign Key) (Composite Primary Key) + + +##### User Profile Picture + +Profile pictures are stored as objects in the S3 bucket; access is restricted based on the ownership of the object. + +## Security Considerations + +Storage of user data is limited to the strictly required data for the app to work. +RLS (Row Level Scurity) policies restrict access to resources, preventing unauthorized users to access personal information like which events are joined by a given user. They also prevent modification of data by unauthorized users. +Additionally in accordance to GDPR compliability, the app will allow to completely delete all data of a given user. + +## Infrastructure and Deployment + +The primary infrastructur is a Supabase instance wich is currently hosted by Supabase themselves on Amazon AWS. The option to selfhost Supabase on whatever infrastructure (included on premise) exists. + +## Test Plan +We will write integration tests for all possible user stories. Furthermore also the interaction with the backend service will be tested in a test environment. This helps to catch potential edge-case situations in interaction of multiple users. From 30b6405fcf09c23e3973b95ebdf5add8b706f479 Mon Sep 17 00:00:00 2001 From: ntissieres <95480672+ntissieres@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:19:37 +0200 Subject: [PATCH 12/19] Update 5-mvp.md --- template/5-mvp.md | 67 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 52 insertions(+), 15 deletions(-) diff --git a/template/5-mvp.md b/template/5-mvp.md index c735be65..fda78f75 100644 --- a/template/5-mvp.md +++ b/template/5-mvp.md @@ -1,34 +1,71 @@ # The MVP -## Personas and Scenarios +## Personas & Scenarios -*Who are the target personas for this product?* +Echo is intended for EPFL students, with first-year students as the key persona. It is these students +who would benefit most from the application, as many of them don't know anyone yet. Although our school +organises groups to meet in BA1 (Coaching), it doesn't provide as personalised an experience as Echo. +If successful, we aim to replace/improve this service. In addition, our application offers events for +all levels, which is beneficial for our second and third personas: exchange students and repeaters. +Our fourth persona is students from all other years who want to meet new people or do an activity with +other enthusiasts. Our last persona is the associations. They are the first to organise events on campus +and struggle to promote their activities. Our application would give them extra visibility. -*Which is the key persona?* +## User Stories -*High-level scenarios to adopt, use and share the product.* +### User Story First-Year Student -## User Stories and Key Features +1. As a first-year student, I want to be able to take part in events with my class to meet people I can work with. -*User stories about how various personas will use the product in context.* +### User Story Exchange Student -*Identify and prioritise the key features required.* +1. As an exchange student, I want to be able to take part in EPFL public events so that I can integrate more easily into my new environment. -*Justify the importance of each feature.* +### User Story Repeater Student + +1. As a repeater student, I want to be able to get to know my new classmates so that I have people to take classes with. + +### User Story All EPFL Students + +1. As an EPFL student, I want to be able to join events to pursue my passions. +2. As an EPFL student, I want to be able to meet new people who share the same passion as me so that I can make new friends + +### User Story Association + +1. As an association, I want to be able to promote my events in order to have more participants. + +## Key Features + +The main aim of Echo is to bring EPFL students together. That's why our application allows them to organise events around their passions, bringing together students from the same class or section. The key to our success lies in the number of events actually organised. Key features of our app include: +* Event participation - This is the most obvious feature, offering our users the chance to discover personalised events based on their passions and curiosity. They can easily find them thanks to a powerful search tool and profile customisation. +* Getting to know people from the same background - Coming to EPFL can be difficult, especially if you don't know anyone. Echo is keen to encourage people from the same class or section to get to know each other, so students can organise events restricted to a certain milieu. +* Associations - At present, the associations are by far the most active in creating events on campus. However, they all have the same problem: a lack of participants. Echo enables associations to promote their events to users and reach their target audience more easily. ## Success Criteria -*How will you evaluate the success of the MVP?* +### Event Creation -*Metrics include user penetration, quality / satisfaction.* +To assess the success of Echo, we will be looking at the number of events officially held. We estimate that an event brings together an average of 10 people. Our application will be a success if we manage to organise at least 1 event per week for every 100 students. So, for a first-year computer science class of 600 students, at least 6 events should be organised within this class using our application. -*If applicable, progress in discussions with ecosystem partners / investors / customers.* +### User Adoption & Engagement -## Features Outside the Scope +* In its first month at the start of the academic year, our application plans to reach at least 30% of new EPFL students (first-year, exchange and repeat students ~ 1,000 users), and at least 10% of the rest of the student body (~ 1,000 users). +* Since our events are generally organised on a weekly basis, we're mainly expecting weekly rather than daily users. Our aim is to achieve a DAU of 5% (100 users) and a MAU of 80% (1,600) in the first month of its launch. +* We expect the application to be used a lot at the beginning of the semesters and then to be put to one side slightly at the end of the semester/exam periods. However, we still expect to be able to achieve a retention rate of at least 50%. + +### Feedback & Satisfaction -*The MVP must be viable and minimal.* +* We hope to achieve a score of 4 stars out of 5 in the Play Store ratings. We will be regularly monitoring feedback to identify recurring comments about our application, and adapting our approach accordingly. +* A survey will be carried out at the end of each month to respond to requests from users who would like to add new categories, and to ensure that each of them has at least one event available per week. This will enable us to assess demand and, why not, try to improve the visibility of certain activities that are struggling to develop (special events organised by the application). -*Which features don’t belong in it.* +### Association Implication + +* Contacting all the associations to offer them the use of our application +* Success would mean serving 70% of EPFL's associations + +## Features Outside the Scope -*How should these be eventually integrated and in what sequence.* +* Exclusion of AI to recommend events - One of the things we wanted to do for our application was to introduce users to new activities using a recommendation algorithm. Based on our users' habits, we could train an AI to come up with a viable model. This feature is out of scope because we don't currently have any users, and we haven't found any data accessible online of sufficiently good quality to have a good model. But it's still worth keeping aside in case we have the necessary resources. +* Exclusion of a multi-tenant Saas - What we're doing with EPFL could very well be replicated for every other school, company or region. Creating a more universal application, while remaining customisable for each environment, is a step we haven't yet explored. To begin with, it was simpler to focus on a structure that we knew well, the EPFL. The advantage of making it a multi-tenant SaaS is that it allows users to get used to using a single application regardless of the environment in which they find themselves. In this way, Echo could become for events what What's app is for communication. +* Exclusion of a degree of trust - Currently, all users can create and join events as they see fit. We're still not happy with this solution because it gives too many opportunities for malicious people to carry out activities that go against the ethical line of our application. We had envisaged assigning a level of trust to each user, not allowing them to organise events until 3 months after downloading the application. This right could be withdrawn in the case of abuse. However, our application cannot afford at the outset to refuse to organise events as a precaution, given that we do not yet have any users. We'll be moderating the application manually to start with. From c30774fefafe4117f40d82a0f4aebb8ef8b3e029 Mon Sep 17 00:00:00 2001 From: ntissieres <95480672+ntissieres@users.noreply.github.com> Date: Fri, 7 Jun 2024 12:08:31 +0200 Subject: [PATCH 13/19] Correction according to Srushti --- template/5-mvp.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/template/5-mvp.md b/template/5-mvp.md index fda78f75..3f18a1fe 100644 --- a/template/5-mvp.md +++ b/template/5-mvp.md @@ -45,7 +45,7 @@ The main aim of Echo is to bring EPFL students together. That's why our applicat ### Event Creation -To assess the success of Echo, we will be looking at the number of events officially held. We estimate that an event brings together an average of 10 people. Our application will be a success if we manage to organise at least 1 event per week for every 100 students. So, for a first-year computer science class of 600 students, at least 6 events should be organised within this class using our application. +To assess the success of Echo, we will be looking at the number of events officially held. We estimate that an event brings together an average of 10 people. Our application will be a success if we manage to organise at least 1 event per week for every 100 students. So, for a first-year computer science class of 600 students, at least 6 events should be organised within this class using our application. We will also look at the number of people attending the event per person registered as a participant. We should achieve an attendance rate of 80%. ### User Adoption & Engagement @@ -57,6 +57,8 @@ To assess the success of Echo, we will be looking at the number of events offici * We hope to achieve a score of 4 stars out of 5 in the Play Store ratings. We will be regularly monitoring feedback to identify recurring comments about our application, and adapting our approach accordingly. * A survey will be carried out at the end of each month to respond to requests from users who would like to add new categories, and to ensure that each of them has at least one event available per week. This will enable us to assess demand and, why not, try to improve the visibility of certain activities that are struggling to develop (special events organised by the application). +* A survey in order to know the user experience with the app so far and if they would recommend it to their peers or if they like the application enough to continue using it. +Maybe include like time to time popups like we have on certain applications which ask the user for feedback by rating the app in order to know user feeling about the same. ### Association Implication @@ -67,5 +69,5 @@ To assess the success of Echo, we will be looking at the number of events offici * Exclusion of AI to recommend events - One of the things we wanted to do for our application was to introduce users to new activities using a recommendation algorithm. Based on our users' habits, we could train an AI to come up with a viable model. This feature is out of scope because we don't currently have any users, and we haven't found any data accessible online of sufficiently good quality to have a good model. But it's still worth keeping aside in case we have the necessary resources. * Exclusion of a multi-tenant Saas - What we're doing with EPFL could very well be replicated for every other school, company or region. Creating a more universal application, while remaining customisable for each environment, is a step we haven't yet explored. To begin with, it was simpler to focus on a structure that we knew well, the EPFL. The advantage of making it a multi-tenant SaaS is that it allows users to get used to using a single application regardless of the environment in which they find themselves. In this way, Echo could become for events what What's app is for communication. -* Exclusion of a degree of trust - Currently, all users can create and join events as they see fit. We're still not happy with this solution because it gives too many opportunities for malicious people to carry out activities that go against the ethical line of our application. We had envisaged assigning a level of trust to each user, not allowing them to organise events until 3 months after downloading the application. This right could be withdrawn in the case of abuse. However, our application cannot afford at the outset to refuse to organise events as a precaution, given that we do not yet have any users. We'll be moderating the application manually to start with. +* Exclusion of a tiered trust system - We currently allow all users to create and join events. While this fosters an open environment, it also presents potential risks of misuse. To address this, we envision a tiered trust system. New users would gain event creation privileges after a period of responsible use (e.g., 3 months). We understand this may not be feasible initially with a limited user base. Therefore, we'll be implementing manual moderation to ensure a safe and positive experience for all. From d1269c66d094ef8aefc173ffd8e036862ff4d934 Mon Sep 17 00:00:00 2001 From: octogradiste Date: Wed, 5 Jun 2024 23:52:50 +0200 Subject: [PATCH 14/19] Timeline --- template/10-timeline.md | 65 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 61 insertions(+), 4 deletions(-) diff --git a/template/10-timeline.md b/template/10-timeline.md index a4efa719..8ed71a73 100644 --- a/template/10-timeline.md +++ b/template/10-timeline.md @@ -1,10 +1,67 @@ +*What resources are required?* + # Timeline/Resource Planning -*What’s the overall schedule you’re working towards?* +## Execution Roadmap -*What resources are required?* +The MVP development will be completed over a 14-week period, including setup, development, testing, rollout, and feature iteration. The team consists of 1 frontend developer, 1 backend developer/DevOps engineer, 1 part-time UI/UX designer, and 1 part-time software tester. + +### Milestone 1: Design Completion and Technical Setup + +- Document APIs, request-response parameters +- Develop UI elements for profile creation and event discovery: dropdowns, filters, buttons, etc. +- Create Figma mockups and user flow documents +- Implement user registration and integration +- Conduct initial tests to populate UI elements with sample data + +| **Sprint/Week Number** | **Objective** | **Outcomes** | +| --- | --- | --- | +| Week 1 | Kickoff and Documentation | Investigate APIs, document them, create scraping prototype scripts, set up project tools, and establish MVP scope. | +| Week 2 | Design and Technical Setup | Create initial wireframes and user flows, start UI mockups with elements for event discovery, configure user registration and integration. | +| Week 3 | Design Finalization & Application Skeleton | Finalize UI/UX designs, set up development environments, and create backend APIs to populate simple UI elements. | + +### Milestone 2: Core Feature Development + +- Prototype core features weekly with appropriate API mock integration +- Test on multiple devices; refine design for different screen sizes + +| **Sprint/Week Number** | **Objective** | **Outcomes** | +| --- | --- | --- | +| Week 4 | Event Discovery Feature Development | Develop the event discovery feature end-to-end, integrate frontend-backend, begin unit testing. | +| Week 5 | Event Participation Feature Development | Complete the event participation feature, continue integration and unit testing, support multiple device types. | +| Week 6 | Association Admin Interface Development | Develop the admin interface for associations, integrate all features in the frontend, conduct internal testing. | +| Week 7 | Unit and Integration Testing | Write remaining unit tests, verify frontend-backend integration with integration tests. | + +### Milestone 3: Internal Testing and Pre-Launch Preparation + +- Conduct end-to-end tests on multiple devices +- Perform stress testing for peak load, average load, and API latency +- Implement error handling and logging for API failures + +| **Sprint/Week Number** | **Objective** | **Outcomes** | +| --- | --- | --- | +| Week 8 | Internal Testing & Analytics/Monitoring Pipelines | Conduct thorough internal testing, load testing, gather feedback, fix bugs, and perform performance testing. | +| Week 9 | Pre-Launch Preparations | Address final bug fixes and optimizations, prepare app store and launch materials. | + +### Milestone 4: Initial Rollout and Feature Iterations for PMF + +- Roll out the app to alpha testers + +| **Sprint/Week Number** | **Objective** | **Outcomes** | +| --- | --- | --- | +| Weeks 10-11 | Initial Rollout/Alpha Testing | Deploy the app to production, monitor performance, gather user analytics and feedback, implement hotfixes as needed. | +| Week 12 | Feature Iteration 1 | Identify drop-off points, optimize user experience, roll out updates, and improve the UI. | +| Week 13 | Beta Testing | Initiate marketing, onboard users, promptly address feedback to build trust. | +| Week 14 | Full Rollout | Intensify marketing efforts, offer incentives for app downloads, such as free meals for lucky winners. | -*What are the intermediate milestones?* +## Development Resources -*List identified sprints* +The primary cost of developing the product will be the developers' salaries. We estimate the need to secure four months of funding for a four-person team to accommodate both planned and unforeseen scenarios. Realistically, this project requires two full-time developers (one frontend, one backend/DevOps), along with two part-time contractors for UI design and testing. We expect the contractors to contribute a total of two person-months each over the 4-month development and go-to-market timeframe. We will allocate additional funds for a total of four person-months to cover unexpected deviations from our roadmap. +| **Function** | **Required Person-Months** | +| --- | --- | +| Frontend Developer | 4 | +| Backend Developer | 4 | +| UI/UX Designer | 2 | +| Software Tester | 2 | +| Surplus Cash Reserves | 4 | \ No newline at end of file From 3dfdc1b1c184db5ad31d7d2c8b1d4da501b41822 Mon Sep 17 00:00:00 2001 From: octogradiste Date: Wed, 5 Jun 2024 23:35:22 +0200 Subject: [PATCH 15/19] Functional requirements --- template/7-functional_requirements.md | 21 +++++++++++++++++---- template/assets/app-server.png | Bin 0 -> 126976 bytes 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 template/assets/app-server.png diff --git a/template/7-functional_requirements.md b/template/7-functional_requirements.md index 1a322ee1..0fe36d84 100644 --- a/template/7-functional_requirements.md +++ b/template/7-functional_requirements.md @@ -1,10 +1,23 @@ # Functional Requirements -*Max 3 pages.* +## Key MVP Features -*List the key features of the MVP precisely.* +### Discovering Events -*Include appropriate architectural diagrams.* +The process of discovering events should be seamless and straightforward for our users. Our goal is to enable users to open the app and find events that pique their interest within five minutes. Achieving this will require robust profile personalization and a sophisticated algorithm designed to match events with users accurately. -*Describe key internal functionality.* +To ensure users get the most out of their profiles, the profile creation process will be guided and intuitive. Central to the event discovery process is the matching algorithm. To develop an effective algorithm, we will conduct a thorough review of existing solutions in the literature and refine our approach through intensive testing with beta users. We are confident that we can draw valuable insights from recommendation algorithms used in various social media platforms. +### Participating in Events + +User participation in events is crucial for the success of our app. We aim to make the process of joining events as effortless as possible. Users should be able to join an event with no more than two clicks. To encourage participation, we will incorporate a prominent call-to-action button that makes it easy for users to engage with events they find interesting. + +### Helping Associations Promote Events + +Associations, as the primary creators of events, are vital to our platform. We aim to support them in making their events successful by providing them with a comprehensive admin interface. This interface will allow them to track event registration progress and compare current events with past ones. The admin interface will be designed to be highly intuitive and user-friendly, offering a wide range of customization options to meet the specific needs of each association. + +## Key Internal Functionality + +Given the potential computational demands of our algorithm, we plan to run it on our backend servers. This approach will ensure that users do not need to download all event data and rank them by interest on their devices, which would be inefficient and resource-intensive. By handling the heavy lifting on our backend, we can provide a smooth and efficient user experience. + +![](./assets/app-server.png) diff --git a/template/assets/app-server.png b/template/assets/app-server.png new file mode 100644 index 0000000000000000000000000000000000000000..f5dcde886fd9dbc918d561ec775d331dfb33440e GIT binary patch literal 126976 zcmeFZWn5L;_dP5K3Rsi@A|Q>FG$^S^BNid82!eD;r>Gz$ozfvK2m*(+K%@?NP)g~} zL)U+9>-y2JzZcKz=f(ANuX;CouQk`4V~#QA^1X6d<`5Aj(Vjhf4#~+%UE8wJ|LW6ZSs5pi zD^AzRCGig&p=}G}Z1a>!8t+(LAA2XX?~Z+l63?!Uw)0G3bXkMN zE346X8*%L1t~W6Ot;ZhR|NRT`4bR82=>46s&BPLWaPa=;FK6*&(Mu2i`3MgQ5rU_Q zLHlh{QvZ5_ga@9e?%x0X2FP>YJ=jCI;UJNr@V{RGc{6wg{{R0K{=cun1??{b?z`dp zk5GT8bYArrTpHS3o%35yPY@LE!Yu1AiEOKjXY2}yce%$}G}pz{O%zaW^sjTIW15!Y zltf*dO?&!uf?UUw9{VfHtoE-LkBfC-urpsD)7&qb*b-jScfA_K9mFqwU%YF5X`^7> zFy3OPXT1WCkW|XJr;JNEe`+kQ?$o4iivJN$Sz=mA8bY;T;lILCLY=6$%2jh`eT=4c zwV9^eeYW}8`D6j^#MLl^D4|z{>gj-(FKz?M+BV zDX7rf!z+Hbf4X4!O{;7-;nTz;s_P>gTi`#kacPeynq=N~sYY?~`~cRn`s>#%zK2Un2bWk0R#%&qHMA<7 zRNB&&OhmZ9ZW(4pDZ7tXKeM2XJ8$1y+NxIJU^TQQL*v@9wjRlPovA*GJ4IxrTR%j| zY7qVU(1T!jxd(pli2r^$Azb&}?UFb#R}Hs~3Fc3g&Lvc$PB)qp#JMo}x`L{xsYz>G z-IGfYtGv?`qhdY$;q?0ANGK_zyzDE}PhV_EX(d}C_x_bIy03ld z$h>a-r3U9_rBgALh{F|IgYl+VK{Mm8W^K*IpXe#1$)5Dz>ylZl=o>SPoHENWp?qS~ z*}0Bd6jRI7x|Vf=)p6nd@w6*R7m|cJ68(MgT(3k;;Qf_!2Cqw~Ra^9yUR{|R;EEM6 z<58_0K-sa0J(e0Ep#8$|#U+#>N|2~jn2b{Qkw%qF!!S9gmb#AXvP$N)G;x$g zUU+v+DRQ{w$maBAf@gikc7p2J*ltq`rjGBzL zyIm~Yrnf9aTO3nlU%q;|G&$4lHa#J-I-Ih}JzBk7xt^}}ajRQoU|VQRzgIkPmVZ^O zF`vj{+xcFD=H{%K5Y3ozd_21dg;2@V^jEXSomW$tN~;C2geDe4ONOL<%LjJs8AMSS zXTe=F^P23rWyXmh8sd&(r94#ba!q1##zlY!(>Oj5;(9HQGFLzieF3 zwOtl@M&(Rvh~8*==Z0{ul7-56OOuG>qHF*qf2u)4Li zi|=tJbq6v{D94MiZm!Jm3bc2Lin{G?+m|^kBo{j4vx@YI@BOV<(NtyQk4L_{@RJeZcpR3<}LxOB+s4gh-)cN~s?1^lgQ(d_x z48u0VAHFU*Qu!cdnpg{mLs`IX^2Yi?9nDCjuA8sb?o$T25LsBowCfp{YjI8%&~ z{aDBH9tXZq!hvwS_N9KUfAI1YreS+?weqlzU|1*R@L zd{lc}aQY80pm!aKYPsE=?UDJfZ*}k?ESN2-*3*NdS|Eukr9}zAXXz<>E{(M`bQkCc zI4!rnM<-nj7&w|l$uNF#`Qus6zZY|UA|v7Bcxy^!vzXQ3yS8EzHT{bc-}7icZiaF~ z#A?5DOZSZ~&5kS;1-`2ZVy+uc-_l9aSVwx}{PlvmI7%okor-QY5Az*Nna$W!#lr5@ zEN&YlVt4Qjo8wp?>^l_FQ)1yv<5k)AqxCdiK@@3IWq7KI67`@j{K1$o|z>coLE^eb}68f5Ooh88x1J_oupTZ&;5tKV#WrQN8`j zcB1Wl{MjGxN9qX?c=F^EXQvAa=buC5`=1oNOzkv&T4BRaiJoCxKc!aq&m&1o%%tc+td4|8tX*sKI zRI|wFG_28KDGc{3IWIA3y2F3wrad@p`0^3#tnNGO8495j?HR{&k8cf!DrDr(l*PY=H!PIqOfIUAI=*vjdDR_w`R`3P>xlN+@ zm!YhOv#H&Wc7eUP1End1Q~R8A@>!Gb4O@BYJKs<|5YroHf9 z(h6_?ey>ERY=sUBw~u?+_dCj*vmMvdB{%%`bBRN6+tZaoarW+WpwdiSRXQz66QWCc zkm!$)_MAW3U1E{Yk*kR@z@^~1^AyU#!@1NG!bosPNF9I!trB?Z{HRsn#m9%k1qWPs zX_uHKX^2%RFa5FTHC4D~J+Hzc6TQZ#MKj_~XE%M{^&H|TZv98tiS|1E>wq6451kZH zZ&eBtfCkz-T>4K?{v%nzDdY^rd|rZfE0Ub`S~uCloAgM=@UEzV^Ot7%^^Nt?s8XFe z4P>eH)dBYa_aGW^oh-F{^K}tfwB}{`2Y)Y?-u#!>JdTTZj_=_(kT`-vfUG$V-i4br z?Q>^sDl||tFI&W3x~wsbb1Ms%-CNGAo7uI!x_RW4NH91STp!n*CmpC@hQXw-T8JnZzRcKpQK@1O7h zZ21*YFG!8rQhiPPD?SZHiEm@CXX;j0r7fM7v|wcp_`5oKLO|9-Po=%5Ht-Z%@x9JM zE}|dVh|P0-X-uKSyiX*s>|SRUkJX@*!q`Qx{%e;hFaEiA@wkr@BsrNJP%^#je+Rbv7JnwhA4C6HEL<9{smQ-~a7JzDHgd z4fk#D0}{)Vod#QL3oDm?q_kVC=n6-ho8|X&>k5>k&PryfWE*~}fc=t|yZHBhC0Y&D z78*1hJMIxoFCz~f$gf25=9=E;B4ZxCnms}K76Vn46`Ql=5lw!0l?Gvae?s4J>AzMzlRc@<`)Q@Nb8Z0j?+jz#HO0_6r!?B zai?r7J``$bS3K>H&7Z~x;Kl5e@<|lBK?df_aW72WAc|5_PyZc7=zQI3mijfx2m9n2 zA~`7L^=BS&#Xoc7IW52eD;)Jw z%Op4-?|x;-9Q;>iJxuwPD=~G#My?wW8k#)f5QS&k2>yyf@=|Cj$hmZS4Ho4>nZi?K zfk9x?)`mESB$jvwOaB!y88vFUu8eb)tMLuP=j~_NMV(iEdxB@u#m65p zy6&e8#DGP3T5N*R;8Fh9Cjst!+!!m^Vz3y>tQ_$%oUP~AC;8V5zV}0VfvcnX2CRal zSdyiYH&TDT3_+Cy93x2R^qi;W2C8-2Qsv0DUZd&1uii1DI8kTSj}aVG1@9pdDQsXT zhI&sDZU~XJ{jp1Xa97BYbUxe|eH~j#p)9iCZKUn=4F>N4G6#)U$u!xg-7ma&M3q&P<4L-1 zP4``Xv(J3ZON^23GZs+aUm~+`jRoD6x~*5`$EKAot(XXlv5wFwV@#K)Ek-C zu8#6M%KjpI=RRq;Ns(X5k%Rh)81Z{eV!iN6}4s@Pbo3l{%G9 zav7JO4T>22Yk{w%D^dvC&&KI5zJGF*tWPN7`)AXJ;6a6_Rfy!Yi@pZWN-+(ijuj3~ z3<{te`xAtDco<#S0i<=9Q2UmUVdIHA-{ZlD#q;#VM<1XzX^rw(evxRsW?^**UgPMn z%b%&r^vsnPdXi;s+bI1N4L>!LMbhsZC>2suYBe288tAIfgV_x1PGNvEm@nY69cNR!=>%-$(qa{FPuwF@&h#OP$q6Ytj*-Mfi-pnc6s{oYyWR$gic4oeQaV*j29{uBfvSI zrHX%~gM=DDy^Jz}RGehuc9UTuTk~&M-s;tU+hY>0FI8SUUtT{5Iir##)Dru@Q`074 zZ@Im)^=RV+&jRFH`8VE#GylCuji{vibT>Dk2)Vd1rGI^jEV^edhF2eAuO<&SKA!Tt z&8R;k71YjKsU&{}l?_V0SMa(X+IY}sF#;EB6U|BJRIcSZ z>ib73mLT{>kVE%7!&3+}lEUCS-;0(-2MNFJi)Z%%q*-`!lx@^VLQo15(3(r2iq=e$ zJ^5G0Qv8zOz7q_zVQJ&%ET;;Alsl+zf9Eu(<<6EPt2T;{aD%w|^1&m2Y&cF2frC@; zF4U9|_M1FCC(d5|_HoVxap&yh~%M@_#yBF?@c%;t3ztIE>0@2|WDO62sip>#_b_=gLIME#78|&#*KExd_ZN7HF`d@=*3$l-Z#`LXp)-Gqi%(SQ5)aB0 z%ePMtW_h7sci0%6h(ov`TT$BheNF%SeossC()%+p!y(%fyx-qJ z2VcOVpIs@2&#EFGs1sqw#Z<=IIsY3aMAmd>tBnAAX%$@*u}AjVx#CLNC=TQ~67LS= z=u~QGyfU4Lx(k~-vbHc3(HQ%`(NiT}o>mzhG|2a(vC87x3_&7`KEFRmz2L&xGH7G(Y|L`VhuYD2D1h z7XJV(q@}hKA>?eTjRtK$!L<%?<1u6rX$SE~o1d`(AhK=bbzB@qkh#LBl2<>eG^OMp zXrV?2_c)hM7=WB|MW>c{(Qmz_No_Rs%t208LO}S%!SL{9$SlBVYV~;6cKz^|6F&g?Hp4 z<>vY;HQO?jEw~5_{l0;g1zd#4{rdLt`O(bH-0>Tbu&F4+T7L=ypxGi6{~3M=ozJS47uS$l@;%u{{q{N) zK#neUs_6=kW(uY(rxzWS^y(+N^!fLLh%8TyA#U~dN^BUHZofen)X;GDn}yxKWrRe@ z2S8D=1{#a)tPLSeltTJHgQj|CBU@y1`Xy&**PVw<96$PEI=Mt>t$18FZ0o|}9R>+M zm0G1RUT65%5(DU$eMoc^me_I0us()A`?qhxPIfAQ)G!n^7OE`9I)%wExzqp89FLSV zpt!Y}DvjHj>LWN}e|wPaRF~3dOTt_f^ghA{6)7H4KfM4@`2UY{dimKo#-nViw$Vjm zv-v^WWZwf`Dnz0#@RR`@&p_6Z`cN6wJT2pT@_!x)&=i7!F)mYd0>~L6>U`h%zq4h8 z$$OTgUhsyy1$wszV4FCi1^;z6;zS&;0nIthGhsK?RexPs)Zn+Xk*iT0qLQsDJbLr_ zmD7<&m#uJsxj!!2{1@Ajj$0Q*1DaM=X`>r(up#s^hhv}o0-Hwt6=madLcCANS?NFo zD!POE=Xyht&eSMAL+IqJegE4L?Y@=>f<^Mlq}Z#F0ip#h;u%3W`A09ugnhlAkArc5<+mJ0+MpkZ<}7R zF_~RxGj_R7q#=@vi`TI6#s3jK0NXPGfj6YOZ!O5wKRaLY`-8R?8vwLX*NG$mF}S|c zWAT6N($>~e%e9w=N|ACPRb5*guGjx{VG13sJu(P#3ga6v}2W~{f5bLcqt2&Y5;ij6WkZ zK=~$HgctY-j7@+bM`#ByMo99`=^2$m5}&*${Gra}1hE;T!dq`2@mLSbDxe@||L@F? z^yu3g%aBd()RVH_c>WaPA$I^*gL(o)7&6zvL3jh|7G=N^Mdp1PDBB6TBcj-+1Fn|1 zkl6LoYJd`CL-J!veY#TYN6^SPCcORyD-g_`U$OY4Ar;CndyB}DKk~zraU;2O1ws~~ zdI+dCZc@VAgaXLla1yFRfEo@73n;8WDs;83#9CCb0?k^S%Jnax0C40npAovopv~_X zM+g+@o&#Q=oQ|#mk!8^H%8W<9_F(HFZ`hxy5>@D!?m*UcOQ<7+eCH94o2C#cAa5Dn znx(=JT}@s5Keco~wAa;S=y(7!ze_Zuut=}%Qf0WzI_b?6V7&;>+X(g87L(~l}mLSF;x?%R-(jKu&7T} zpC0XK_V5hcUa}BnMhQN9xis}Ta;aL0Y+Fn5YXkS^M`bpZ8LJz@OHCqO>jSe1yt>Y7 zUmu?uiw4V1a}W21;~`fI>QGS9Qbb)X+;j$}s#BbsMC#fdM@>LK8K&$+IQ>%Nm+jc4l7ZLuC z@m%@*V;rggi!Y?}KY}J*q3jCsjaxV>=w3w0%l(BQ7bUb)`GKgmcC@k20}_c(*9YFvg$*6GYO=5NiE`pEb;_$U za%8r2&ySgqwi}fiaua?Uv*Tz_$)52eXT6>C#vKIZXkT(~UZo<6a2 z($JrhU!IcBNUvUq{+wif^$h{@UZaYM6noSKv1R-q8u-6+CdipHE#} zpvQ7Rv3s50#D0A!MOK92f(kDS9ON4_BLCw*m;A-E8t6w; zMEb=+DrUW&?mxp$XYfX&N_zJg#yXaJ*Q)obg!8rcGYp>)zgut!~!`*T-67&B`%6 z_Wd{b(}R|^=3}<6336M_Qm*UD*Bx+Z2&R8LFlK`kapFl_RN|GT(}r7P;=92y{3aSa z(>`+OU2MCu^lcq`e|yeui-*^s^80_T-$=Jt;0sRU54WS2%FQ>uB*grNuXSY0(3~<` zj(16aEZ|O){<6(%UFiUeCFc>cp74rhvlv0zj+*vK-Bta{+(!arWusYlAvTyjpY@=J z;&x{$=z1J46>m^Q#3;(K#_UR*|-c-^%3!K7{h7Ri}E z8#0GV3YcXvXBq*3Z6w$8U38*doXW5M2!sMSCv_T{K}=*I41a_+ ze7u2`>cP*$NJ~uX2^f$vO)*X%(8o1MqkEQRUwV?4x~vzHb7*vAaDqz92@QQXROn4x zk^T6}UrGktLTTK$uG&7(?OVzQBL4MMTs*Ol9**m|500@4X1wts(PzhSY8%mho0T<9jU0XK=vO z=3Q_8PuTMbtvMpTMGL9l&KOKs6xXU;)`f~2>KEt}4;aV0u6#Oi9>e@D5_}avE&45} zA125{Yy<$JIHgtg@xn=E0GWhnO#PoR#L0~-ijtM&V%cyA^DP@f5I~N3}dqU9szJE zfw)Ab5vs@cv))N~A8?RIBSwS_1`F?Y?-A_I&Zb35jE7BtfdyGBX_yo5BL>%Au4RzO z{4<_}GRV;(l0E?Hx~!|)Zl<7=)`cVwxNYW&toGUz+`~kMuFUqaq1-)ZUDK259kp*{ zJ3qOkp>9`6*Yy7I62dVDEcP3^>~61K1COmjI<)|y6UW2EY_?@r(_{%x+~gp=;INTmMH0&`-v4R9bP9WU*7493Nhf$5_NQlCnBg@fv@pOLYg#f*L^r-uE-!Q>1hXdx zs;k+d)ydPToGjkk*Ilk#?Y8)lEni)nK;u96z9qrycqfC=@*>V^&1NoxDwY1`WU(n zHeH$u5XfHnN-%-94d>JU^P8QBm#s8eF<}_pGaKAUm7pcQiF@D}`%@5`Dco;3AJ`sJ z*`@6`%JSbfc`W0ioPgI25MLV2lS-4u1xsj3sP#yblFJB@9{~IiSQ` z#kjin&jQoOq#SQ*ntU%p--_lUoc@3|b`9zFEK;%0xVI$?}5K&G;T}XxqotIA*QIKa~&*3%MNiGb!m-CsXAN=T(|-Fmn7VEN+abk zh1US+6{qe#RYIExKOmu(UgMXmY|kW&1~PENj(Y!hn@C1YZ<$R%!aC3ZkLw7>X%bN} zG8WxGBrGHtyNJfAtxz~=Hj2;Ab;@>-e&w*--mudzUWGnyE8b^zGb46C2KH z>z+cAYN&gkhQVyM(OD58M}5xrxlx4N}ZS^VV25ih{JxiH{u}Y zFew%>t09(#LSRH#$P~j^g6o>(Z68Q%r_^jWS2AAso}7snaRKu4?0kX5RajR5Wwq_O zett0(;ZLZx2gd~O7^fDCHpu#&y)lm@oUks_-v)wakjgQRxWPwfp|uf{3;fxXMlF-3|NkTF=dc zKP437hI`d5%djct>b;iOy=dlr{f=X&sz=Q-rbdn*++SDj5%I|t)Kjh60>dWC$U;FY ziaWB5Z$oM*FF}7$u+xKfd z7S$Xv*Z`C9(6V#8qj&`( zt@1U~>~Td!_uT;QEXCAQrF=vqS?)W-zQFmyeoiN)Dy8I{4^W7_s*AtP7+H};iMv+; z!P%4+T-p^E*yAH~{wZ$EbByRdEM=X*MDBg!pB@{3koTlavSzit)BR%ptn=<^b2bB$dmD>~Nae8{d87#?WumXVM3=42bw*Zg(|!K+{wnHOj1?f#V9-WahN3Xz8!v5L{95Dj1%uPbbBkG^Eu5sU8(pzpAWdlA45&X@6lLke!mSxm|bxxH7=dH%rxyHZw1?=5trm1J+;kFl_7xeOUC^$ zBofS3wf4rr>2;6c%b59rLIXdLdDPOC6R6X)`^fa*=!z{LZdm?9>kqnGrC^ z2WAou+2vu5CBzA_?BKg?&XlmM8*RI_&9Sl3>5yT;Q7tHNV1W@Ey9p+W2pCCPvlgoR zUdHtZkU17Gq@G3*mN_G!PTgQ`YVxq`x3l{Vr0yu|K__xm-f-M72KelU_0qVg(rbbW z9VYpNZ0-t0<4;Wbd{h;R-Z9#yIRbMfnl~xX(}Xm`{Ml@gq9c)f!uf*He7nPD)G_Ko zc@b3+xNW<49oX_iVNfIGpc2eqY{$=XRd3O06kf0FySQrDi-72jsr=e1&G-#W?19Ns zk%)`h%I59$@rq^X$DF7D)>55a=SrV>Vi?o#zw!LaYl9c6F5=OLYBjxd=0wJ!#kz-g zzC~TF+aweBhf$}Sz$idbdn73+1|m2?gKaDGdOl$v_^?i9R~H{EueL%w(Ieq%$=cgGi4r)iO8)$EG}p&N zUup2vUN>5g0|4S+b{niJ$;{Dgc0+~% zg8dE`1x&k%(*l6-kOkw??Y@${eoUJHC>wrlkNW4;p(_X7SiE+nOeYV+CVlp>k3CMM z@Mr}Ns=uZOCZ6tmc=|e|;Jt#E4s(({oBhn^qeBe)4pXs!67gg~=!c=2mdO)JeLZO8 z$yDjpM$18V|1knJ_Bgp0^X%R|qt7Fh7;ql@aOD`9G<3thBtl~$Bj*XzCz$}s5w#E< zwI`U&>oSNMX%DTMH=*fC5Jl&7m%`c%@4GWL+(v zYE!;;wOb#{MCOQfBlCme>8BBgt%FKAJvvWXB9^hbTN8&Oz~}mo?~cBKIHqCQ>Ag=a z&H|?;xQkduda#59uGa6L_(bAW_RDpgf5QD9gdA2t$bl1Qe~8>QcX77gUNuobiQms; zlf#OK{f2}ra8cJb;3(S(s|z0PL=EEMrhDXNVG2V~Sv$}UaKABP9S#!P_>jTF`Z=o0 zfJVgO1?E07mcbD2>UvvMP^|Nz=!W|~=UzC^bBsby0IRtD=nBv*Ke`Nl7*qBinx|BPOQQQT_5jH>i z$2~Ybghp+hl~gmJ7x%d;4+{dvO=|li5E1ltd`wvt3w7I~%N}5uvfaiFGz|WN9=|j2(icT6pb55JK zHp*E!f1en>P~T7wCMW)}6kXy!kc%nU-dDbdP)UX9J3!z>BpR%A>PaKXYPlLm)5^Q2$+(@c zMy;RM({y-6k`gR9JzzSo%xndUSd+^k` z8~rXzN(xLeKcsgDG9mY!iiQ0f&;*l=JiYnS5JAHKS>v2#m-jzB20T-^N3~j?QFy0U1E4%(O8+MCD;?fIeVc)B2|m zLJ~2gxZGwdlP&bz5sh&_?5S%sIIizhcdy*PjAm1OK_fYG`$rGE2lp#eVtpA93aEpc zt8v+2C@ocbxKJBf14x8ZCF{n5`b+J{d|;Afh4wY9)p+rype9TYn}=ceJo7AON5Y19 zE@@j;8@1B4#_nr<50sRD?BV!9sL97Tj*>N^V{rjX`n4H=bvqS8r}gj%i~~qV-{YA1 z$_js(39#dm@i{H7geV~vZ+xs=2&gGd2HqPtWWDeR*(vOU^)oM&Ij*%>wQncfum?TKf zw?4yan}120io6jWa-Ck<-={6D->Cb=t&2q?!cN%n(*PQmgtYqRRdtu_md|3?qST&M z;hug04SPyQs14YnK2DK|?F63wLg>`jhXRtOHPBC^dPhe9=zAbWUtB{tBVOvh3hR+4 z3NMY@uM7E={`3N*^Y2(Hfua}Q*Lv(%kdYwGQV1~OrHz*o6gyPPrPc@<T9Z!i%ski0OkLEMJ z)_U~Ih7>aPfmlNeV*Da3T4V8G#%OiIMOisKin&$>c%L=ZtQ+-1-LZle)FYc1kt>1= z+kntT<1=;z!LJm3ry-(=nJh0-S&@o-5EnF=~?SH5?aA zx2fb*7B}UHJ$2|i)c%s#wcs zP035eWSr)^Ni%NLnH8R+QT$O~P~*aTVb=8hj-PW{MQ)Nc@SAkm8c%^uIN5z_s`hz& z$VU7*PMwO`mj^Hnch4L?cnfEnB27HIksuqd((QVQaeFP>99Z7DP?-lkC4>%) zpV`Y1ki_2!M5S@>v&-PU5>oappx4vH={s_1*TXglmflaSR_@m!B-l#uU=k^|eQ4uP z!7GimI726b*YCQj-Fg%oe?gF}bCD%pzEPdOd|W=kh(<&Dl3K(0$0ZC72rJQ~T-oVe z<+}OGC|*9{X&(T`1@|?m*(a0_4L3j2MCQdne2%2M^yJ;f1kU!xs%mXIc;J)ukKC7v zq{T2F!kS1Z;2M|3fFedI*jLmWoPo}uuuaMpf4#gYb zFA+1it|2v`$*%rF;>j_Nd!1TF`#lp6jGyAmwaBRMXhMq~#m-iUX~;nFhQZJ#fn1q6 zYFNr+xdrmSe{&5?-w%VI*8X&>(pfuRMfhrs5_1liozpLR&{?4b^yj7HH}AEHY|VuM|PlcbJqS2BaKOmh`Ax8fnQ z77lkx=$?xT2Kxu{ae$`yNOdv`S0RF(d!_g+y(uYHV@aU_SLpH5=!>1{6{@V`kF7pw zN?3?ZU<&#lLf3RXqj(G~L^Q1gRiSY^H4!n`4&EtQofv%W$;qa#@7O0{OjSyD8Odt|aA|i9;lnU#&p6 zO$f9Xmo=H6BD&qD)ivWx>XH(QmO{$pJ{caP2&1*b-=qMOe8 z&J+9OZOOSbNgTJox4j9Zu>+OYrq1J0NoXc`LN*pCfPwUR74~wJkWZJGrnSUkKt1;h zCPWftT?M7LfKmX%rfM2Tej69;0}=g|&gZ4WVe($sYS7yt<)AFIE&kH00q2d-i7eSu z9I+&aP7~wdxH2fyEVXy;iTA>D1@EUeEwKbnZuWC`Z`9Ap5}fJi^k2Yfp5(;&`#D!r zdW8|Mm`4};5t?W76q%z&>59>$JbSwsN+S9fj%jegaO4btpr$Lu)21$$0D=XCl=NRX zzBT?PVa*2;mjX=t1Ta%<`689kG;pG&%!wV-pvxV2UR9u8R$iM4MWx{x^$IEXtqg| z2J6(uM@v!3eVA*4s4*QlBZGWed1`TMLc&sbMgGP8IXo8|ERD_4Sp*-5HX?PLQ=|mtVc3@#yfW z$pxXlQY)l#i@Wcf=plTEGgq~l2NkQ`q#YJI6vj00l1&nNI#jmKU9RLF;wWl-I@@#< zGhFeiWqEPE%~FrxK&ktw$1Yww;FpO2+~CBZ6n-Xr8dzFeQe@@7n1zzrTn;~@LX;_k z_x4jv0X?xUqAM+yI?3$Hc7`+j>Vov_JzK;!6^lkIY?9|vg2YI-cS%X&aUu2ds%Er2 zJFjM|-zxEV_G&i((V;o>?e0hzY4Ji>r$w-tI*4c~^p1N8H%a23KgO<3JhOYW-)+;3 ze&N&rH;i_);upnVP*|BSlG)ET)LbnOrlCscJK0T$41G0kQ8r+%hHIs zlp4Kh)Vz_WbrZ(=Xf>G6MJ1)_gJqj#cYDq~#Ws7XE2ITD{v)GLD^}9jw(WL3fjK!J zSPx?l3k(m;OHB+cD|0$hbJvK`0oldgu@v>8%#m*&AJG&bZy>{NT$~42E%p9V$Wwre z{R|#toW>ixh>Xc{_b+rE-Lv5r2T~V#SHW9{ z)6i4TmF0nEuX}z!X}7L*>aHDp>any+y#u8KPrI0v4xc)A=hInsCG^yh2_A!w4pedG z7m~`$$Oyd4C7?{{=Wr<#`de0i^rwN8iA?5)acBw<$-rz(DzJWMfANX0j-fl3W|xa( z{7>8hK7p8^$b-vo%$Bh<&#Ck1rs_NJcwJgeZCh*tS17l+Dx#|_f>TKWl7Ro`SxP|p zVep^2MX#!*0T%^q=Ryl>`2Osh!b5p#>N*1Zws%2>^~p;Xyr^JwO2h%pL!&^3ZFPM) zaU=s!kA{FHd7v=Xe6Sb!1Wy4@!5Gi1K?%J z(XG~T1MgyMVM+gO$hfubxRf#PFr;WFH|Ph3L5o=}pOZcBId#-ntwU_7HREkuf(PLQ zo-6oRhJox3u(pGVHF}tvEoo8FPbXnJi;Ve%9Or&0Ho6WL|2o?f`SczVCkVz5je>pd z62%0}XkAEmyK~|!58|&w(6x^Q(CZsV#MUHY_>4(CUmD0Ku~@>mE&V!j>BWi18NM6H zEE-Iu-43&EwLWiXOg$F5yEb$r)^|U;;2BY%Ft0{Y zy#~dVz#XUWi(EpS)sgrx!d;VwgFm&jHI?zPPsY+>`RYLL48}BR+(w}Fcy;Lc7ti;Qk^T%gAS3XjG+fiszk2tW%$)> zWa6TTE#R{_+hGDIQ|)}wSQ`HqNK&VU+^js~E`b&{{LH?e@Xm3Pb|~<-In&ITc#P1r z;BtJTUj?7RFVOtz47&oFOB;0q`#9J+6*OP@Yj3k&w;#rRO^ObnV^hgufX+QgS$i^X z2H?@cg!1!sQ_!paGzIrcp@?JGYJKJp<4NkUs<30=eL*^GjCiN!(*Z zMz?|0-tji43x!tL{qk3Jh^bpRea>_syIqxj9{Ub1IN

X-5Af$vkTajd*sl^Q){U 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 J3gyfL{}0RF&`|&Y literal 0 HcmV?d00001 From 9c74d91d0066e18c7fcbf7b6d5fa3cfcee6e77e6 Mon Sep 17 00:00:00 2001 From: yoan Date: Sun, 2 Jun 2024 18:54:20 +0200 Subject: [PATCH 16/19] non-functional-requirements --- template/6-non_functional_requirements.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/template/6-non_functional_requirements.md b/template/6-non_functional_requirements.md index 76b0e5f5..8a99942a 100644 --- a/template/6-non_functional_requirements.md +++ b/template/6-non_functional_requirements.md @@ -2,15 +2,14 @@ ## Security, privacy, and data retention policies -*Which are the applicable laws and regulations?* +Our app collects the minimal amount of data on our users needed for it to be fully functional. This way, we avoid the collection of "sensitive" data that could be subject to special regulations in certain countries. Most of the data in our app is accessible publicly; the only thing that needs to be protected is the user's email and password. Supabase seems reliable enough to avoid leaking such information, and in any case, the password is stored hashed with a salt. We can easily inform all the users if a data breach happens because we have their email. -*What are your internal policies?* +From a privacy standpoint, the most sensitive information we have is the participation of the users in the events and the user profile. A user can only access their own user profile in the app, and he cannot see a list of subscribed users to an event. Our app minimizes the data it collects, and we don't sell or give direct access to this data. The analytics aggregations will have to be done on the events, as the users never send their location to the server. We don't ask for other permission than location, and we use intends that return a single item to get data from other apps (i.e. set the profile picture). -*Which privacy features do you need from the phone?* +We can automatically delete the user accounts after some time of inactivity, and a user can email the support if he wants to have a copy of all the data we have on him. Furthermore, we plan to add a delete account button in the app. ## Adoptions, Scalability and Availability -*What kind of traffic patterns do you expect to see?* - -*Are there known periods of bursty traffic that the MVP must be designed to support?* +Obviously, our first focus is the EPFL campus. Then we can promote the app to the whole population, as there is a very low entry barrier. We don't limit the app's usage, so anybody in the world could just use it, but since the app is only available in French or English, it limits its worldwide usage. However, thanks to our modular architecture, it's quite simple to translate the app into any language we want. +We will probably have high traffic during non-working hours. We should make sure with a stress test on the database that it doesn't impact too badly the performance of the app. Since we have caching capabilities in the app, we are able to reduce the load spikes. If some events are very big (i.e. Balelec) we can also plan to scale up our backend for the duration of the event to avoid any issues. From 5d33d6f61cefee32cb5e04f60bd976d5adc483b9 Mon Sep 17 00:00:00 2001 From: yoan Date: Sun, 2 Jun 2024 18:58:36 +0200 Subject: [PATCH 17/19] monetization --- template/11-monetization.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/template/11-monetization.md b/template/11-monetization.md index 04263a3f..41ee7eee 100644 --- a/template/11-monetization.md +++ b/template/11-monetization.md @@ -1,6 +1,13 @@ # Business Model -*Expected operating Costs* +### Expected operating cost +The operating costs of our app are proportional to the number of users. The choice of Supabase allows us to avoid vendor lock-in if it becomes too costly to pay for the database and storage. The pricing page of Supabase shows us that 25$ per month is sufficient for 100'000 monthly active users. Then the cost per user increases, but thanks to the fact that Supabase can be deployed on our own hardware, we can keep the cost down. For example, if we decide to deploy Supabase on a virtual private server, we estimate that it will cost only 0.00015$ per month per monthly active user. We clearly see that these operating costs are small. -*Revenue Streams* +### Revenue stream +The revenue stream of our app comes from mutliples sources. +First, we can collect some group behavior data from our users. For example, which categories of events are the most successful, or what's the best location for an event to be successful. With these insights on our users, we can introduce an optional monthly subscription of $5 for the associations which want to improve their chances to organize a successful event. +Second, we can develop themed versions of the app for special occasions. For example a week-long event on a big area with a lot of events in parallel, like CES, could ask us to create a special app for the occasion that would allow the participants to have an overview of all the events, join some of them and find them easily on the map. This would occasionally bring us a big income, probably about 10'000$ per mission. +Third, we can monetize some services in our application, which allows the associations to have easy integration of all the things that come with the organization of an event. For example, a ticketing system can easily be added to our app. The user could buy a ticket for a paid event without needing another app or website. The associations would have some management interface with the participant to allow easy verification, refunds, and more. We just take a small fee on the ticket price, for example, 5%. +### Extrapolation +In total, we estimate that if our app becomes successful enough to be adopted by 1'000'000 users, with 200 associations that pay for premium features and 5'000'000$ worth of tickets per year, we can estimate a minimal cost of 15$ per month and a revenue of about 252'000$ per year. This gives us a consistent income that will allow us to develop more features for our app. From 3753dd5d12d4f5be60e4a53738a333b5480edb68 Mon Sep 17 00:00:00 2001 From: yoan Date: Fri, 7 Jun 2024 21:58:13 +0200 Subject: [PATCH 18/19] fix $ position --- template/11-monetization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/11-monetization.md b/template/11-monetization.md index 41ee7eee..0a5d7194 100644 --- a/template/11-monetization.md +++ b/template/11-monetization.md @@ -5,7 +5,7 @@ The operating costs of our app are proportional to the number of users. The choi ### Revenue stream The revenue stream of our app comes from mutliples sources. -First, we can collect some group behavior data from our users. For example, which categories of events are the most successful, or what's the best location for an event to be successful. With these insights on our users, we can introduce an optional monthly subscription of $5 for the associations which want to improve their chances to organize a successful event. +First, we can collect some group behavior data from our users. For example, which categories of events are the most successful, or what's the best location for an event to be successful. With these insights on our users, we can introduce an optional monthly subscription of 5$ for the associations which want to improve their chances to organize a successful event. Second, we can develop themed versions of the app for special occasions. For example a week-long event on a big area with a lot of events in parallel, like CES, could ask us to create a special app for the occasion that would allow the participants to have an overview of all the events, join some of them and find them easily on the map. This would occasionally bring us a big income, probably about 10'000$ per mission. Third, we can monetize some services in our application, which allows the associations to have easy integration of all the things that come with the organization of an event. For example, a ticketing system can easily be added to our app. The user could buy a ticket for a paid event without needing another app or website. The associations would have some management interface with the participant to allow easy verification, refunds, and more. We just take a small fee on the ticket price, for example, 5%. From c5e74fc92821aca468966abec02ebefaec13e4be Mon Sep 17 00:00:00 2001 From: yoan Date: Fri, 7 Jun 2024 21:59:07 +0200 Subject: [PATCH 19/19] no appendix --- template/12-appendix.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/template/12-appendix.md b/template/12-appendix.md index 377bc045..e69de29b 100644 --- a/template/12-appendix.md +++ b/template/12-appendix.md @@ -1,6 +0,0 @@ -# Appendix - -*This section is optional.* - -*Can include mockups, sequence diagrams, etc.* -