You are browsing as a guest. Sign up (or log in) to start making projects!

CosmoGram

  • 2 Devlogs
  • 10 Total hours

It uses Nasa's api to Givea a picture of the universe everyday and also you can download the image if you want, and there is a page where you can enter your birthday to get the image taken by NASA on that day. It uses Flutter for the UI and App development.

Ship #1

What did i make : - I built CosmoGram, a dark-themed mobile application using Flutter and Dart that connects directly to NASA’s databases. The app features a "Daily Discovery Feed" or simply "Discover" page which pulls real-time planetary imagery, descriptions, and cosmic telemetry via live API. It also includes a "Birthday" where users can input any date(Basically their bithday) coordinate to query the exact celestial snapshot NASA's sensors captured on their birth date.

What challenges did i face?

Since this was my first project handling APIs and asynchronous calls in Flutter, navigating Future methods and managing state was a big learning curve. The most tiresome challenge was the local image downloader; high-resolution assets initially failed with a system exception because NASA's raw image URLs contain complex API query strings that corrupted native Android file extensions (creating broken 0B files). I solved this by writing a custom naming filter to strip out the parameters and strictly enforce a clean .jpg tag. I also recently had to migrate my workspace to Linux and re-optimize my production compilation into split architecture targets (v7a and v8a) to bypass GitHub's 25MB file upload limits.

What was i proud of ?

I was proud of learning app development and using the knowledge i gained through watching YouTube Tutorial and the things i learned along the way using AI (like Google Notebook LLM ) to Teach me Future and state management in flutter. It was a wonderfull experience .

what other people should know to use my project?

Highly Technological Background is not needed they should just follow these steps:-

1. Download either 'app-arm64-v8a-release.apk' or 'app-armeabi-v7a-release.apk' (if the former is not installed) from the repository files.
2. Install it on your Android phone (allow "Unknown Sources" if prompted).
3. Open CosmoGram app to see the live NASA Daily Discovery feed, or switch to the Birthday tab and enter a date like 2004-10-24 to pull a historical cosmic snapshot!
4. Note: If you want to pull down the raw code and build it locally, remember to open 'Screen.dart' and replace the placeholder string with your own official NASA API key.

  • 2 devlogs
  • 10h
Try project → See source code →
Open comments for this post

5h 55m 41s logged

The App Is Almost Ready

Short App Description

The app I was working on, CosmoGram, is ready (almost). It particularly has two pages: one where you get a daily image and the image’s information like its description, radiation level, etc., and the other page is Birthday, where you enter your birthday and get the image that was taken by NASA on that day.


Usage of AI

Stitch: I used Stitch to get the UI elements of the two pages. It is awesome and simple to use. I described my app, its usage, and how it works, and it gave me the UI pretty fast, which was also awesome.

Gemini: In Stitch, if you go to Export, select the pages you want to export, and export in code, it gives you XML code. I pasted this into Gemini and asked what UI elements I could use to achieve this, and I also told it to give me boilerplate code to build upon.

Gemini Image Generation: I also used the Gemini image generation model to generate a custom logo for my app.


Troublesome Things & Breakthroughs

  1. Since this was my first project involving APIs using Flutter, I did get errors using Future and all that. I mainly asked Gemini for help regarding it.

  2. Downloading the image was probably the most tiresome part. I watched some YouTube videos and implemented it, but the downloaded images were all 0B and could not be opened. I asked Gemini to help troubleshoot it.

  3. The Download Abort Fix: Initially, downloading high-resolution assets threw a critical system exception. The issue was that NASA’s image URLs contain complex API query strings, which corrupted the native file extension. I wrote a file-naming filter to strip out the parameters and strictly enforce a clean .jpg formatting tag. Now, the Android gallery opens the images flawlessly.


What I Just Finished

After taking a quick rest, I figured out exactly how to set up the app image and the title name natively! I updated the underlying AndroidManifest.xml files to clear out the default development metadata templates. The app now cleanly displays with its proper launcher name (CosmoGram) right on my mobile’s home screen, and it successfully loads up with my customized, textless neon-rocket icon asset in the app drawer. Everything is fully live and running on the phone now!


Extra

If you see most Flutter projects, they will probably include many files for different pages. This helps if you are in a company where everyone can work on the app and contribute. But since I was making this as a personal project and I don’t think anyone else will contribute to this, I decided to put all the screens and pages in the codebase inside a single Screen.dart. There is also main.dart, which actually runs the app since the void main(){} function is inside that folder.

0
0
4
Open comments for this post

4h 20m 14s logged

#DEVLOG1: Hello so i am kinda new here, i really wanted to get into app development. I do have a background in programming(not too much strong just medicore) i know python very well and title bit of C , Since dart is similar to both Python and C like its syntax is similar to C and concepts like OOP is also in Python it was easy to get on. But on flutter part i am still not that much great and i still kinda get confused in topics like Implementation , Stateless,Statefull . So i did build a Currency Converter App as a practice and also so that i could get fimiliar with widgets , i didn’t build it on my own i watched a tutorial and followed along , i think i will build few apps like these and when i get a hang of it i wll go to my main project which is a kinda of simple, It uses NASA’s API to get beautiful images of Universe and you can even set it as wallpaper and you could even enter your birthday and find out the photo the Voyger took on that day. So yeah thats it and if you guys are fimiliar with flutter it could be great if could tell me what all resources you used.

0
0
27

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…