Inspiration - This was a school project issued in my Analysis of Algorithms class.
What it does - The application is a file browser that has basic functionality of a typical file browser with added support for adding a google drive account and traversing its content and also using google vertex ai to create a summary of each file's content.
How I built it - We created a drive detection module to handle the detection of local and removable storage devices. Google drive api was used to add google accounts. A hash map was used to store the different file signatures and their name(type). Upon adding a google drive, each google file node was converted to a 'local file node' for easier processing considering all the code for processing a local file was already written (transform and conquer). It was basically smooth sailing once that was achieved.
Challenges I ran into - First attempting to use Microsoft blob storage was a challenge, to understand and re-implement the information in the documentation proved difficult. It also seemed as if it required subscriptions to get it done so we opted to discontinue that approach and use google-drive-api. Another challenge was using the free tier of AI to summarise files. Creating a searching option was also challenge, not due to complexity but rather the time in which we had to complete it.
Accomplishments that I'm proud of - I'm proud of the fact that I came up with the idea to put file signatures in a hash map to match it to the type, I'm also proud that I was able to manipulate the traversal of the google drive to move fast irrespective of your internet connection speed. I'm proud of coming up with the drive detection system and also the idea to convert google file nodes to local file nodes without downloading them for traversal and user-interaction.
What I learned - I learned the importance of having a good algorithm and its impact on user experience.
What's next for Atlas - The aim is to get it to function at the standard of windows file explorer and even better.
Log in or sign up for Devpost to join the conversation.