Vocab

View GitHub Repository

Vocab is my first try at developing an app. The app will be a helper for vocabulary learning in English, and the idea came from my mom needing some help in that endeavor

This page will mostly be talking about development and descriptions of the app

Specifics of the development

Setup

On December 17h, I initiated my development journey by installing the necessary components and updating them to the latest version. This includes XCode, the simulator for the Iphone 16 with the newest IOS and the Swift 6 language

I plan on keeping this app very simple, as it's purpose is mostly to be a database of words

December 18th was the actual first day of coding, where I learned how Swift works and what is needed for an app to function

The app was ready for testing on December 21th, and this is when I created my Apple Developer account

The app was tested by an external group of tests on December 22th and subsequently submitted for review on the same day

Features

The app features 6 main pages, which I will display and explain here, screenshots for every page are provided in the bottom of this website

As of the writing of this page, December 21, 2024, the app is still under review by Apple, and should be released before the end of the year

Main Page

The main page features the title, Vocab, and 5 buttons. Each button sneds the user to a separate page in the app

The background image is randomized every time the user opens the app, being chosen from a set of imagery from Utah. The image can be of Zions National Park, Arches National Park, Park City and Park City Mountain, Little Cottonwod Canyon or Timpanogos

Depending on your screen size (mostly prominent on Ipads), the main page will appear as a side bar, and not as an actual page

Add Word Page

In this page, users can add any word they desire, as long as it within the available words list, which consists of about three hundred thousand English words

Users are asked to add an example and a description of the word. The example must use the word they specified, but the description has no constraints, apart from not being empty

By clicking "Submit Word", the system will check if the word is valid, if the example uses it and if the description is not empty, and if so, it will add it to the words learned collection

This page serves as a baseline for all other pages, and they all follow a similar style and guideline

Random Word Page

In here, users will be prompted to add random words from the three hundred thousand word list. This page tends to give harder words than the usual vocabulary, so it could be beneficial if the user wnats to learn harder and longer words

The user can click on "New Word" to start or to change the given word

The "Submit Word" button works just like the Add Word Page, and follow the same constraints

Collections Page

The Collections Page serves as a repository of different vocabulary types the user can explore

Each collection has a theme and a number of words. By choosing a collection, the user will see a page similar to the Random Word Page, but the words are from a specific topic and they are orderd alphabetically

When the user finishes the Collection, a checkmark will appear in the page congratulating the user

See Words Page

This is where users can see what words they have learned so far

Words are colored by where they were added from, and ordered from most to least recently added

By clicking in a word, a form will appear where users can modify the description and example they have given

Users are not able to modify the word, date or source, but they are allowed to swipe left on a word to delete it if they deem necessary

If a word from a collection is deleted, that word will appear again in that collection

Info or Profile Page

The Info Page is where users can see statistics about their learning in flashcards

This page is very simple, and although my initial idea was to have the user create an actual profile, I decided to keep the app as simple as possible and ditch that idea

Privacy Notice

Vocab does not gather or store any info from it's users

All information on the app is saved locally and is not sent to any servers or third-parties

The entirety of the Vocab App code is available in the Github link at the top of this page or through the following link:


Vocab Github Repo

Feedback

if you have any feedback, concern, question or critique, feel free to send an email to panoramic56@proton.me

I will gladly accept any valid suggestion and incorporate it into my next projects or future versions of this one

Updates

Version 1.0.1

Added a translation button to Random Word, Collection and See Words pages

Users can use this button to translate the given word to their native language

Resources

Here are some resources I utilized in order to make this app. Although, I know that I am not a good programmer yet, I feel like it is a good idea to credit those who helped me get started in this endeavor. All of these will hace links to them

Screenshots