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.
- UIKit
- AVKit - plays video-lectures
- Nuke v12.1.0 - uploading photo
- Firebase
- Firebase Real-time Database
- Firebase Authentication
- MVC
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)")
- 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