SlideShare a Scribd company logo
1S L I D E
Mobile Application and Cloud Computing 2019/2020
Hoodie
Music
Downloader
2S L I D E
D e s c r i b i n g o u r T e a m- [ ] -
Our Team
3S L I D E
OUTLINE
OF
TALK
Introduction
Structure
Design
Look and Feel
Conclusion
Future Works
4S L I D E
MAIN
FEATURES
Introduction.
Hoodie is the best way to easily download and listen
to songs:
• Stream
• Download
• Unlimited library
• Portrait and horizontal mode
• Trending music by genre Charts
5S L I D E
Our Approach
A N A G I L E P R O C E S S- [ ] -
Introduction.
6S L I D E
Used Technologies
Firebase
Backend as a Service
(Baas).
We store our users, their
searches, all the stuff needed
by our app.
Node.js
Asynchronous event-driven
Javascript runtime.
We use Node.js to download
songs directly from Deezer.
Backend Frontend
Swift
Powerful and intuitive
programming language for macOS,
iOS, watchOS and tvOS that
support both object-oriented and
functional programming.
Structure.
7S L I D E
T h e m o b i l e
a p p l i c a t i o n
d e v e l o p e d i n S w i f t
a l l o w s
c o m m u n i c a t i o n w i t h
t h e s e r v e r.
Application Architecture
H e r e i s w h e r e o u r
b a c k e n d l i e s , i t
h a n d l e s u s e r s a n d
t h e i r p e r m i s s i o n s ,
t o g e t h e r w i t h m u s i c
d o w n l o a d .
Mobile
Application
Raspberry
Pi
D e e z e r S i m p l e A P I
p r o v i d e s a n i c e s e t
o f s e r v i c e s t o b u i l d
u p a p p l i c a t i o n s
a l l o w i n g t h e
d i s c o v e r y o f m u s i c
c a t a l o g u e .
Deezer
Api
Structure.
8S L I D E
W e h a v e m a n a g e d t h e
a u t h e n t i c a t i o n
f e a t u r e s w i t h
F i r e b a s e
A u t h e n t i c a t i o n ,
G o o g l e O A u t h 2 a n d
F a c e b o o k A P I .
Backend Structure
R a s p b e r r y h o s t s o u r
s e r v e r. T h r o u g h t h e
" e x p r e s s " f r a m e w o r k ,
w i t h t h e l i s t e n
m e t h o d , t h e
a p p l i c a t i o n l i s t e n s o n
p o r t 8 0 8 0 .
Raspberry
Pi
T h i s i s u s e d t o c a r r y
o n s o m e i m p o r t a n t
d a t a o f t h e u s e r t o
p r o v i d e a b e t t e r U X .
Firebase
Realtime
Database
Structure.
Firebase Login
Google Signin
Facebook API
9S L I D E
FIREBASE AUTHENTICATION
• We use Firebase Authentication to
allow users to log into our app using
their personal email and password.
• These credentials will be passed to the
Firebase Authentication SDK and after
getting a response from their servers,
the user's data will be saved to
Firebase Realtime Database.
Structure.
10S L I D E
GOOGLE AUTHENTICATION • Google Sign-In manages the OAuth 2.0 flow
and token lifecycle, simplifying our integration
with Google APIs.
• OAuth 2.0 works with the following four
actors:
• authorization server: responsible for
authentication and authorization.
• resource server: in charge of serving up
resources if a valid token is provided.
• resource owner: the owner of the data,
that is, the end user of Hoodie.
• client: the Hoodie mobile app
Structure.
11S L I D E
FACEBOOK AUTHENTICATION
• With the rise of social media, Facebook login
integration has become one of the must have
features in mobile apps. Despite the fact that
every developer is integrating Facebook login
into their apps, Facebook is doing a very poor
job on updating their documentations.
• Using the Facebook authentication token we
get from Swift, we can access the Facebook
API and get the user’s name and email to
create an account.
Structure.
12S L I D E
REALTIME DATABASE
• The Firebase Realtime Database is a NoSQL
cloud-hosted database. Data is stored as JSON
and synchronized in real time to every
connected client.
• All of our clients share one Realtime Database
instance and automatically receive updates
with the newest data.
Structure.
13S L I D E
iOS
Application
Multi-Platform iOS Design
Responsive Layout
Multithreading
DispatchQueue + URLSession for https requests on separated thread
(Codable protocol used to convert JSON to native Swift struct)
Model View ViewModel Pattern Design
Design.
14S L I D E
Navigation Path
Design.
15S L I D E
Login & Signup
• Login methods supported:
• Email and Password (Firebase Auth)
• Google OAuth
• Facebook
• After login or registration, the user is redirected
to the main page of the application.
Look and Feel.
16S L I D E
Explore View
Look and Feel.
• Explore:
• Recently listened songs
• Related songs per genre
17S L I D E
Trending View
Look and Feel.
• Trending obtained by:
• Record Sales
• Radio Broadcast
• Downloads:
• Single song
• All
18S L I D E
Search View
Look and Feel.
• Search (Deezer API):
• Results by Ranking
• Play a Song
• Download a Song
19S L I D E
Library View
Look and Feel.
• Library
• Shows
• Name of the song
• Image of the album
• User action
• Play
• Remove
20S L I D E
Player View
Look and Feel.
Our player shows the music currently playing
accompanying the listening showing:
• The name of the album, the song, the author
• Cover picture
• Play/pause, next, previous, shuffle, repeat one,
repeat all, volume slider buttons
21S L I D E
Settings View
Look and Feel.
Settings:
• Verify what version are you using
• See app information via Twitter or Website or email
• Clear Data Cache
• Share our application
• Rate us on AppStore
• Logout
22S L I D E
Responsive
Design.
Auth.
Service.
Multi
Thread.
External
WebAPI.
Storage
Service.
Personal
Backend.
Requirements
What we achieved
Conclusion.
23S L I D E
Future Works.
W H A T N E X T ?- [ ] -
Future Work.
24S L I D E
Thank You
F o r y o u r a t t e n t i o n- [ ] -

More Related Content

Recently uploaded

Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Recently uploaded (20)

Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 

Featured

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

Hoodie Music Downloader

  • 1. 1S L I D E Mobile Application and Cloud Computing 2019/2020 Hoodie Music Downloader
  • 2. 2S L I D E D e s c r i b i n g o u r T e a m- [ ] - Our Team
  • 3. 3S L I D E OUTLINE OF TALK Introduction Structure Design Look and Feel Conclusion Future Works
  • 4. 4S L I D E MAIN FEATURES Introduction. Hoodie is the best way to easily download and listen to songs: • Stream • Download • Unlimited library • Portrait and horizontal mode • Trending music by genre Charts
  • 5. 5S L I D E Our Approach A N A G I L E P R O C E S S- [ ] - Introduction.
  • 6. 6S L I D E Used Technologies Firebase Backend as a Service (Baas). We store our users, their searches, all the stuff needed by our app. Node.js Asynchronous event-driven Javascript runtime. We use Node.js to download songs directly from Deezer. Backend Frontend Swift Powerful and intuitive programming language for macOS, iOS, watchOS and tvOS that support both object-oriented and functional programming. Structure.
  • 7. 7S L I D E T h e m o b i l e a p p l i c a t i o n d e v e l o p e d i n S w i f t a l l o w s c o m m u n i c a t i o n w i t h t h e s e r v e r. Application Architecture H e r e i s w h e r e o u r b a c k e n d l i e s , i t h a n d l e s u s e r s a n d t h e i r p e r m i s s i o n s , t o g e t h e r w i t h m u s i c d o w n l o a d . Mobile Application Raspberry Pi D e e z e r S i m p l e A P I p r o v i d e s a n i c e s e t o f s e r v i c e s t o b u i l d u p a p p l i c a t i o n s a l l o w i n g t h e d i s c o v e r y o f m u s i c c a t a l o g u e . Deezer Api Structure.
  • 8. 8S L I D E W e h a v e m a n a g e d t h e a u t h e n t i c a t i o n f e a t u r e s w i t h F i r e b a s e A u t h e n t i c a t i o n , G o o g l e O A u t h 2 a n d F a c e b o o k A P I . Backend Structure R a s p b e r r y h o s t s o u r s e r v e r. T h r o u g h t h e " e x p r e s s " f r a m e w o r k , w i t h t h e l i s t e n m e t h o d , t h e a p p l i c a t i o n l i s t e n s o n p o r t 8 0 8 0 . Raspberry Pi T h i s i s u s e d t o c a r r y o n s o m e i m p o r t a n t d a t a o f t h e u s e r t o p r o v i d e a b e t t e r U X . Firebase Realtime Database Structure. Firebase Login Google Signin Facebook API
  • 9. 9S L I D E FIREBASE AUTHENTICATION • We use Firebase Authentication to allow users to log into our app using their personal email and password. • These credentials will be passed to the Firebase Authentication SDK and after getting a response from their servers, the user's data will be saved to Firebase Realtime Database. Structure.
  • 10. 10S L I D E GOOGLE AUTHENTICATION • Google Sign-In manages the OAuth 2.0 flow and token lifecycle, simplifying our integration with Google APIs. • OAuth 2.0 works with the following four actors: • authorization server: responsible for authentication and authorization. • resource server: in charge of serving up resources if a valid token is provided. • resource owner: the owner of the data, that is, the end user of Hoodie. • client: the Hoodie mobile app Structure.
  • 11. 11S L I D E FACEBOOK AUTHENTICATION • With the rise of social media, Facebook login integration has become one of the must have features in mobile apps. Despite the fact that every developer is integrating Facebook login into their apps, Facebook is doing a very poor job on updating their documentations. • Using the Facebook authentication token we get from Swift, we can access the Facebook API and get the user’s name and email to create an account. Structure.
  • 12. 12S L I D E REALTIME DATABASE • The Firebase Realtime Database is a NoSQL cloud-hosted database. Data is stored as JSON and synchronized in real time to every connected client. • All of our clients share one Realtime Database instance and automatically receive updates with the newest data. Structure.
  • 13. 13S L I D E iOS Application Multi-Platform iOS Design Responsive Layout Multithreading DispatchQueue + URLSession for https requests on separated thread (Codable protocol used to convert JSON to native Swift struct) Model View ViewModel Pattern Design Design.
  • 14. 14S L I D E Navigation Path Design.
  • 15. 15S L I D E Login & Signup • Login methods supported: • Email and Password (Firebase Auth) • Google OAuth • Facebook • After login or registration, the user is redirected to the main page of the application. Look and Feel.
  • 16. 16S L I D E Explore View Look and Feel. • Explore: • Recently listened songs • Related songs per genre
  • 17. 17S L I D E Trending View Look and Feel. • Trending obtained by: • Record Sales • Radio Broadcast • Downloads: • Single song • All
  • 18. 18S L I D E Search View Look and Feel. • Search (Deezer API): • Results by Ranking • Play a Song • Download a Song
  • 19. 19S L I D E Library View Look and Feel. • Library • Shows • Name of the song • Image of the album • User action • Play • Remove
  • 20. 20S L I D E Player View Look and Feel. Our player shows the music currently playing accompanying the listening showing: • The name of the album, the song, the author • Cover picture • Play/pause, next, previous, shuffle, repeat one, repeat all, volume slider buttons
  • 21. 21S L I D E Settings View Look and Feel. Settings: • Verify what version are you using • See app information via Twitter or Website or email • Clear Data Cache • Share our application • Rate us on AppStore • Logout
  • 22. 22S L I D E Responsive Design. Auth. Service. Multi Thread. External WebAPI. Storage Service. Personal Backend. Requirements What we achieved Conclusion.
  • 23. 23S L I D E Future Works. W H A T N E X T ?- [ ] - Future Work.
  • 24. 24S L I D E Thank You F o r y o u r a t t e n t i o n- [ ] -