Skip to content

xanewelius/Nika

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Refresher courses 85%

Typing SVG

Refresher courses program that works with Firebase and Firebase real-time database (JSON model). Each new user registers on the site (maybe later I will add registration ヘ(= ̄∇ ̄)ノ ) in Firebase Authentication and, accordingly, in the Firebase Real-time database. Using a database, the user can be provided with a course containing lectures that he can watch without downloading to his phone. Video lectures are stored on Google Drive and stored in the model as links to them, and in the program they are already processed into the necessary link for working with AVPlayer.

Stack

  • UIKit
  • AVKit - plays video-lectures
  • Nuke v12.1.0 - uploading photo
  • Firebase
    • Firebase Real-time Database
    • Firebase Authentication
  • MVC

Preview

Handling lecture link:

let lectureURL = lecture.link
//lectureURL: https://drive.google.com/file/d/1tUk6dSavwL4-emKRVBFEsznTO916W1hU/view?usp=share_link
let pattern = "/d/([a-zA-Z0-9-_]+)"
guard let regex = try? NSRegularExpression(pattern: pattern),
    let match = regex.firstMatch(in: lectureURL, range: NSRange(location: 0, length: lectureURL.utf16.count)),
    let range = Range(match.range(at: 1), in: lectureURL) else {
    // failed to extract id from url
    return
}
//fileID: 1tUk6dSavwL4-emKRVBFEsznTO916W1hU
let fileID = String(lectureURL[range])

let videoURL = URL(string: "https://drive.google.com/uc?export=download&id=\(fileID)")

Available

  • auth users
  • adding (registration) of user occurs through site firebase
  • adding new courses and lectures to course occurs through site
  • sorting courses by their end date (переписать)
  • update courses in real time (when course is added to user)
  • Dark/Light theme

About

Refresher courses program

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages