Skip to content

Mobile application for learning English with Firebase authentication

License

Notifications You must be signed in to change notification settings

Uliana200407/English-Mastery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
Telephone Image 1
Authorization view
Telephone Image 3
Rigistration view
Telephone Image 4
User profile view
Telephone Image 2
Book library view
Telephone Image 3
Detailed data view
Telephone Image 4
Tests view
Telephone Image 1
Flashcards view
Telephone 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