Skip to content

valentinsilvera/ranked

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ranked

This project is the Software Engineering Capstone Project for me, Valentin Silvera 👋 It's a native iOS app that allows people to quickly create polls and vote on them, using a ranked-voting system. Here you rank the options in order of preference. More information about the counting system here.

This document aims to give an short overview about the techstack. The complete Technical Document is available here. Most importantly, the reader gets to know how to install and run the project locally.

Demo Video of the project

Available on YouTube.

The algorithm

All the documentation was done inline here, when using it you can just Opt+click any methods, or variables to get all the information.

Installation

You can start by cloning the repo to your own machine:

git clone git@github.com:valentinsilvera/ranked.git
cd ranked

Note that in order to run ranked locally on your own device you need to change the signing certificate for Xcode development and creating your own firestore database (the api calls will make sure to create all the collections and documents, so you can create an empty one):

  • Open the project in Xcode
  • Select "ranked" on the side panel
  • Select the "ranked" target
  • In the "Signing and Capabilities" tab select your own team and rename the bundle identifier to "com.YOURTEAMNAME.ranked"
  • Create a project on firebase firestore with the new bundle identifier
  • Download the "GoogleService-Info.plist" and move it to the root directory of the project

Techstack

The entire project has been written using Swift:

The authentication and database were done with Firebase:

The UI has been written in SwiftUI without any other libraries.

DB Model

Schema

Author

🧑‍💻 Valentin Silvera - @ValentinSilvera

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages