A simple iOS application where users can create Dungeons and Dragons characters and chat with other players. This app was created in XCode using Swift and Firebase.
Users can create an account using an e-mail and password. The functionalities related to authentication were implemented using Firebase Authentication.
After succesfully logging in, the user will be brought to the main page, where they can access several functionalities.
Users can also view their profile, from which they have the possibility to delete their account if they so wish.
Users can view a list of their characters by pressing on "View characters". Once shown this screen, a user can choose to either create a new character (by pressing on the plus button in the upper right corner of the screen) or view the profile of an existing character (by clicking on the cell displaying that characters data.)
Users will select different characteristics for their new character, such as class, background and stats. After the character creation process is complete, the new character will be stored in a database (using Firebase Realtime Database).
A character's profile has two pages. The first page is dedicated to basic information about the character, as well as inventory (which can be modified), experience and level. Users can add experience to their character. Once this variable has the required value, the character can gain a level. The second page displays the stats associated with the character.
By pressing on "View all characters", users can view every character created by other users of the app, along with a few pieces of relevant information. The list of characters can be filtered using the search bar above it. Upon finding a character they like, the user can begin talking with the owner of the character by pressing on the "Chat" button placed to the right of the character's cell.
Users can view a list of all their on-going conversations by clicking on the "mail" button displayed on the main page.

The functionalities related to chatting with other users were implemented with the help of the MessageKit library.
Users can view a list of abilities available for DnD characters. These abilities can be filtered by certain key-words, by class or by level.
Users can generate virtual dice by selecting their type and inserting the number of dice in the required text field. Dice values are generated randomly.
Users can view a page displaying several statistics related to the number of users and the types of characters that have been created. This section of the app was implemented with the help of the Charts library.
















