Mobile application for learning English with Firebase authentication

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 screen Authorization view Rigistration view User profile view
Book library view Detailed data view Tests view Flashcards view

Components of the ios application

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

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