Winning 6-week Capstone Project: Won the 'Best In Class App' award, awarded by staff from the Capital One team.
InTune is an app where artists can show off their skills and make a living. InTune connects artists and enthusiasts, creating a virtual community and a networking system.
Artists and enthusiasts need to create an account and give us some basic information about themselves and their interests. Artists can post videos, like other artists as well as collaborate with other artists. All users can like their favorite artists. Artists can chat with other artists. Enthusiasts can chat with artists. Everyone can post gigs, to find artists for their private events.
Liked Artist Tab
Gigs Tab
Find artists using tags
Starting a chat with an artist
Posting Videos
Creating a thread
public func createThread(artist: Artist, completion: @escaping (Result<Bool, Error>)->()) {
guard let artistId = Auth.auth().currentUser?.uid else {return}
db.collection(DatabaseService.artistsCollection).document(artistId).collection(DatabaseService.threadCollection).document(artist.artistId).setData(["name" : artist.name, "artistId": artist.artistId, "photoURL": artist.photoURL ?? "no photo url", "city": artist.city]) { (error) in
if let error = error {
completion(.failure(error))
} else {
completion(.success(true))
}
}
}
Used a delegate to pass in tags from the cells and filtered the artists array based on tags
func didUpdatePreferences(_ tags: [String], _ exploreVC: ExploreOptionsController) {
getCurrentUserPref()
tagsCollectionView.reloadData()
artistTableView.reloadData()
db.getArtists { (result) in
switch result {
case .failure(let error):
print(error)
case .success(let filteredArtist):
for pref in self.currentUser?.preferences ?? ["none"] {
self.artists = filteredArtist.filter{ $0.tags.contains(pref) }
}
}
}
}
This project includes cocoapods such as MessageKit and Kingfisher to facilitate the production of the app. MessageKit was used to create conversations between our users for the chat features. Kingfisher was used to access images faster on the product. Firebase was used to organize and store user data.
Maitree Bain | Tiffany Obi | Christian Hurtado | Oscar Gonzales |
---|---|---|---|