Skip to content

Requirements

akifemrebicen edited this page Feb 19, 2026 · 19 revisions

1. Functional Requirements

1.1 Media Recording & Ingestion

1.1.1 The application shall provide an interface for recording audio and video directly within the application. 1.1.1.1 The recorded audio must be automatically transcribed into text and shown to the user for review before posting. 1.1.2 The application shall allow users to upload pre-recorded historical photographs, videos and audio from the device's gallery.

1.2 Geospatial-Temporal Mapping

1.2.1 The application shall map every story to a geospatial coordinate (Latitude/Longitude). 1.2.2 The application shall execute geospatial queries to display "Stories near me" based on the user's current device location. 1.2.3 The application shall display a preview of the information associated with a marker. 1.2.4 The system shall support zoom-in and zoom-out operations using platform-appropriate buttons. 1.2.4.1 Users must be able to drag and interact with the map to manually pin the exact location their story is about.

1.3 Workflow & Moderation

1.3.1 The system shall enforce a draft state for all new uploads, requiring a user with admin privileges to approve the content before it appears on the public map. 1.3.2 User shall create post with a button on the main page. 1.3.2.1. User shall choose a location at the post creating page. 1.3.2.2. User shall choose a specific time at the post creating page. 1.3.2.3. User shall specify a range for the time for the post. 1.3.2.4. User shall create text content. 1.3.3 User shall upload a post after completing necessary fields using a button. 1.3.4 User shall see a succesfully posted page after posting. 1.3.4.1 After a user successfully publishes their very first post, the system must display a First Post badge on the screen as a reward.

1.4 Platform Compatibility

1.4.1 The application must be developed as a responsive web application accessible via the web browser Chrome. 1.4.2 The UI must automatically adjust based on the user's device's screen size and orientation.

1.5 Authentication & Authorization

1.5.1 The system shall provide a user authentication mechanism that allows users to register and log in securely. 1.5.1.1 Users shall provide their usernames, e-mail addresses, passwords to sign up. 1.5.1.2 E-mail addresses shall be unique. 1.5.1.3 User passwords shall meet safety criteria. 1.5.1.4 E-mail addresses shall be confirmed. 1.5.1.5 The system must provide a Google account sign-in option as an alternative to email registration. 1.5.1.6 When a user enters their first and last name during sign up, the system must automatically generate a username and display it to the user for optional editing.

1.5.2 The system shall differentiate between authenticated users and unauthenticated users.

1.5.3 User shall login with their registered email and password.

1.6 Content Upload Permissions

1.6.1 The system shall allow only authenticated users to upload video, audio, and image content. 1.6.2 The system shall prevent unauthenticated users from uploading any media or documents.

1.7 Interaction Features (Comments & Likes)

1.7.1 The system shall allow authenticated users to comment on published content. 1.7.2 The system shall allow authenticated users to like published content. 1.7.3 The system shall prevent unauthenticated users from posting comments or liking content. 1.7.4 The system shall allow unauthenticated users to view and consume publicly approved content. 1.7.5 The system shall allow authenticated users to save items for later.

1.8 Filtering Results (Search & Filter)

1.8.1 The users should be able to search places by their names. 1.8.2 The users should be able to filter contents by their types (photos, videos, texts and audio) 1.8.3 The users should be able to filter items by their related date. 1.8.4 The users should be able to filter items by country, city or neighborhood.

1.9 Post Data Persistence & Storage

1.9.1 The system shall store each post together with the identity of the creator. 1.9.2 The system shall ensure that required fields are completed before allowing submission. 1.9.3 The system shall display the created post after successful submission. 1.9.3.1 Authenticated users must have access to a personal dashboard where they can see view counts for each of their published stories. 1.9.4 The system shall store each created post as a persistent record in the database. 1.9.5 The system shall ensure that each post is uniquely identifiable with a primary key. 1.9.6 The system shall associate each post with the authenticated user through a foreign key reference. 1.9.7 The system shall store uploaded media files (image, audio, video) in a cloud-based object storage service. 1.9.8 The system shall associate each cloud-stored media file with a corresponding database record.


2. Non-Functional Requirements

2.1 Scope

2.1.1 The application shall allow content upload related to/from all parts of the world.

2.2 Performance

2.2.1 The timeline visualization must render changes in under 2 seconds on a standard 1000Mbits/s internet connection.

2.3 Data limits

2.3.1 The application shall validate file sizes upon upload and reject files exceeding the defined limit.

Team Members

Milestones


Lab Reports


Weekly Meetings

Other Meetings


Templates

Scenarios

Use Case Diagrams

Class Diagram

Sequence Diagrams

Requirements


Implementation

Clone this wiki locally