Coder Social home page Coder Social logo

tum-dev / gocast_mobile Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 0.0 6.75 MB

Mobile client for gocast @ TUM developed in Flutter

License: GNU General Public License v3.0

Kotlin 0.07% Ruby 1.43% Swift 0.37% Objective-C 0.02% Dart 97.31% Java 0.36% Shell 0.44%

gocast_mobile's People

Contributors

ahmetsenturk avatar carlobortolan avatar jakobkoerber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gocast_mobile's Issues

Implement the video Player

  • Video can be streamed
  • Playback speed can be adjusted
  • User can change between different views (camera, presentation)

Implement Bookmarks

  • Bookmark UI: When watching a stream, display a button to save a timestamp
  • API Calls: Save the timestamp
  • List view: See all saved timestamps

App Logo and Slogan

Description

Create an App logo and Slogan

Expected Results

  • Having an icon and a Slogan

Application Monitoring

As a developer,
I want to log application errors in real-time,
so that I can quickly fix any issues that users encounter.

Subtasks:

Film the Trailer

Description

Film the trailer according to the Script

Expected Results

A decent Trailer

Offline Access

As a Student,
I want to be able to access my downloads when I am offline
So that I can watch my dowloaded lectures.

Use Case Model

Description

Create the first version of the use case model

Initial UI views

Created Views from Figma.
All the screenswith basic navigation system.
Welcome screen
Login screen
courseoverview
Settings
Navigation bar with screens

Initial AOM

Description

Check tum gocast models and their AOM if there is any

Expected Results

  • Initial AOM

[API] Set up Server

As a client, I would like to have the server setup so that all the functionalities of TUM live can be used in gocast app

Functional and Non-functional Requirements

Description

Create a confluence page with requirements under the knowledge base.

Expected Results

  • Created a new page on confluence and updated it with functional and non-functional requirement

[Figma] UI Design

As a user,
I seek a seamless user interface
to ensure a more enjoyable, user-friendly and engaging interaction with the app.

Child Issues:

Keeping Lectures Safe (System Administrators)

As a system administrator,
I want that the downloaded lectures to be protected, not be shared and also be able to be deleted remotely,
So that I ensure compliance with the data privacy

TUM Sign-In

Story Description

As a user,
I want to be able to sign in with my TUM credentials,
so that I can access my personalized lecture dashboard.

Child issues

Subsystem Decomposition

Description

Align with AOM

Expected Results

  • Iconized version.

  • Take a look at gocast repository.

[API] Implement user endpoints

Helpers & Services:

  • JWT validation
  • Services to fetch data from db
  • Parser to parse from "gorm model" to "proto model"

User-Endpoints:

  • getUser
  • getUserPinned
  • getUserCourses
  • getUserSettings
  • getUserBookmarks
  • putUserBookmarks
  • patchUserBookmarks
  • deleteUserBookmarks

Notifications-Endpoints:

  • getBannerAlerts
  • getFeatureNotifications

User Authentication

Description

Implement basic user structure and authentication (basic auth. & TUM SSO)

Expected Results

  • Basic auth.
  • TUM SSO auth.

Linked with

Implement custom errors

Currently, whenever an exception is thrown, it is displayed to the user including its technical description. By implementing custom exceptions it is possible to define certain errors that can then be displayed to the user in a readable and user-friendly way.

Some ideas:

invalidURL
networkError(Error)
jsonParsingError(Error)
jsonEncodingError(Error)
imageProcessingError
videoProcessingError
argumentError(String) // 400
authenticationError // 401
validationError(String) // 422
internalServerError // 500
forbidden // 403
notFound // 404
noContent(String) // e.g., if the API returns an empty collection
unknownError // everything else

Here's a example of a current error alert:
image

Implement the download functionality

The student click on the download button when he is watching a lecture and the video gets downloaded as a mp4 file.

  • A reference to the downloaded video should be saved so the video can be deleted or accessed again
  • #189

Lecture Organization

As a user,
I want to see my lectures and public lectures separately
so that they are organized.

Split View

As a user,
I want to be able to see the lecture with a split view
so that I can see the lecturer and the lecture at the same time.

Create a template Flutter Project

Research the TUM Campus app. Create a template repo with Flutter.
Write a small setup for the dev environment - put it under knowledge base.

  • Create a template
  • Setup config page
  • Update CI/CD

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.