Inspiration

NASA images and content takes viewers to the next level with breath taking and mesmerizing images and detailed description. NASA puts a new image and content every day. The content is an open source, can be used by developers with an easy to use API or novice to enjoy the HD link. The images range from enormous galaxies, asteroids, stars and planets , simulator images and captivating views on earth. This led me in to taking an open source API and creating a secure iOS app which not only displays new images every day but also stores images from the past APOD objects in a JSON file which is audited and secured using Pangea Firebase extensions.

What it does

"Space Objects" is an iOS app. The app displays HD images, description, title and date from NASA's APOD API and displays as a list. The app also displays the above details from a JSON file that is stored in Firebase Storage and displays them as a list. The app also has subscribing option where the user enters the email address which is then stored in Firebase Cloud front. If the user enters an email that already exists in the Cloud front then the app displays the redacted email already exists. The cloud front is also audited using Pangea built-in Extensions.

How we built it

"Space Objects" app is built with Swift UI, Firebase Firestore, and Firebase Core packages. The iOS app uses NASA APOD's API to get 5 days of images and content from today's date to consecutive days in the past. The app then gets curated content from a JSON file that is stored in Firebase Storage. The JSON file can have any number of NASA images and associated content from the past NASA APOD objects in any order. The JSON file is audited using Pangea's secure audit and Malicious file detection Extensions. Once the file is entered the admin enters the details of the change in the audit collection table or runs a javascript create file to enter the log details. The JSON file can be updated, deleted with new content and hence vulnerable to malicious activity. Pangea's Secure audit and Malicious file detection extensions will detect any updates in the file and puts an entry in the Pangea's secure audit log console. The log console has details about the time and date when the JSON file was updated in the Firebase Storage and who created it. If an attempt is made to store a malicious file with the same name, Pangea's extension will remove the file and store it in a subfolder with the name "malicious" as a JSON zip file. The Pangea's secure audit log will also show the date and time when an attempt to load the malicious file was made in Firebase along with a description "Malicious file activity". The iOS app also has a subscriber option. The users can subscribe to this app using their email to get email or notification regarding updates on new content. The email address is stored in Firebase Could front with collection name "redact" as documents and "input" as a field that stores email address. If the user tries to enter the same email address that he is already subscribed to, the Pangea's redact Extension with redact the email using custom rule made in Pangea and displays the redacted email already exists. In order to display the redacted email in the app and store it in the secure log for privacy, a rule set is created and cloned from an existing rule in Pangea Console to partially mask the user email. The customs rule ignores first two characters and special characters like the symbol "@" for email address.

Challenges we ran into

Challenges making the iOS app are many from trying to configure the Pangea's secure audit log to display the log. Working with Pangea's built in extension proved a challenge as many locations for storing the cloud data was unavailable to use. Designing custom rules to display redacted test was also a challenge as it took great time and effort to figure out the optimal way to redact the text in the email.

Accomplishments that we're proud of

Overcoming the challenges, learning and understanding Pangea's secure audit log feature with Extensions, Using other Cloud front in Firebase and incorporating the rich features, implement it in an optimal way is an accomplishment in learning process worth the try.

What's next for Space Objects

The app "Space Objects" can be further expanded to use a login feature and use Pangea's secure audit log to monitor the authentication process. The app can use Firebase Authentication tool to store user credentials. Auditing and Securing the credentials could be done using Pangea's secure auditing. The UI in Space Objects app can be updated to be more user friendly for both iPhone and iPad devices. The UI in Space objects app for the subscription page can have an email validation check for the customer end.

Built With

  • cloud
  • extension
  • extensions
  • firebase
  • pangea
  • swiftui
Share this project:

Updates