English-Mastery app

Description

Elevate Your Language Proficiency with Ease!

Introducing Mastery English: the revolutionary SwiftUI-based mobile app that transforms language learning into a captivating adventure. Elevate your English proficiency, access an online library of captivating English books, and stay updated with BBC news. Enjoy interactive tests and expand your vocabulary effortlessly with engaging flashcards.

English Mastery phone views

Launch screenTelephone Image 1 Authorization viewTelephone Image 3 Rigistration viewTelephone Image 4 User profile viewTelephone Image 2
Book library viewTelephone Image 3 Detailed data viewTelephone Image 4 Tests viewTelephone Image 1 Flashcards viewTelephone Image 2

Components of the ios application

Telephone Image 3

Functionality List

  • Book Library: Explore a collection of English books.
  • Read and Download: Read books online and download them for offline access.
  • Interactive Tests: Take tests and earn scores to track your progress.
  • Idioms Flashcards: Study English idioms with flashcards.
  • BBC News Updates: Stay updated with the latest news from BBC.
  • User Profiles: Register and manage your profile using Firebase database.

Colors & Typography

Telephone Image 3

HTML content-parsing from BBC site

 func parseHTML(_ html: String) throws {
        let doc = try SwiftSoup.parse(html)
        let promoBlocks = try doc.select(".gs-c-promo")
        
        newsItems = try promoBlocks.map { block in
            let title = try block.select(".gs-c-promo-heading").text()
            let linkString = try block.select("a").attr("href")
            let imageUrlString = try block.select("img").attr("src")
            let fullArticleLinkString = try block.select("a").attr("href") 
            
            let link = URL(string: linkString)!
            let imageUrl = URL(string: imageUrlString)
            let fullArticleLink = URL(string: fullArticleLinkString)!
            
            return NewsItem(title: title, link: link, imageUrl: imageUrl, fullArticleLink: fullArticleLink)
        }
    }

Video demonstration

Tap to watch the video

GitHub

View Github