All about the AstraDB Build-A-Thon

All about the AstraDB Build-A-Thon

Making Side-Hustles a Reality

A brief introduction to myself. I’m Suraj Vijay, a pre-final year from India, and I love building stuff from scratch (feel free to check out my website: surajvijayan.me). In this blog, I’ll be sharing everything about my AstraDB Build-A-Thon’s experience

What is the AstraDB Build-A-Thon?

It was a four and a half-month-long hackathon conducted by DataStax, a data management company that recently received $115 million in funding. The hackathon was conducted virtually and managed by AngelHack, a global hackathon organisation that has planned over 550 hackathons in over 400 cities around the globe (including dozens of virtual hackathons like the AstraDB Build-A-Thon). It was split into three rounds of challenges, and each round had two challenge statements. They also allowed us participants to build our own solution (just in case our idea didn’t fit into either of the two challenge statements). All we need to do is have AstraDB as a database in our projects. The top three winners of each round get an entry to demo day, where they can present their idea to the judges. There were a total of $41,000 worth of prizes cassandra youtube search

How did I come to know about the AstraDB Build-A-Thon?

Back in January 2022, I wanted to learn another NoSQL database other than MongoDB (a non-relational document database), as I felt one was not always enough and there might be a time where I could not use MongoDB for a specific project. After surfing the Internet for an hour, I found that Cassandra (a distributed, wide-column NoSQL database) is the database that I need to learn. When I did a YouTube search on "introduction to Cassandra," the first video that showed up was from the DataStax Developers YouTube channel. They were consistently conducting workshops on DataStax’s products (such as AstraDB and Astra Streaming) with sample apps, and each workshop had a quiz and homework that made sure that the participants had learned something. In the end of one workshop (I'm not sure which one), they told us about the AstraDB Build-A-Thon, and this is how I came to know about it

What happened during the Hackathon?

First things first, the challenge statements were released along with a learning pathway assessment quiz. There will be a workshop after the announcement of the challenge statements. I used this time to build an interface with Photoshop for my idea, and later, in the team formation and idea pitching session (which will be held in Gather Town), I shared it with the mentors. Coming from a relational world, my database model was not good enough, but the mentors helped me with that. Having the UI and the database model ready, I made sure that before the mentor’s office hours meeting, I built at least 60% of my project. The mentors were so lovely that they actively solved every query asked by the participants motivation gif

The reviews from the mentors always had me motivated to complete my project (rather than just having an UI or Power Point presentation). As a college student, I had to wake up early in the morning, between 3:30 and 4:00 AM (fun fact: I slept for around five hours a day, three hours at home and two hours on the college bus), and skip the gym (I did pushups and stretchings to keep me in the game), so that I could manage my college work and build my project at the same time. All the hard work was worth it, and I managed to win the first round with my project, Pirate Land (a family game for people of all ages). I also did participate in the second challenge month, but this time my project couldn’t make it to the top three. I was sad for three days, as I had put more time and work into this project than the previous one (Pirate Land). But yes, it's all in the game dark knight quote gif

Why do we fall?

"Why do we fall? so we can learn to pick ourselves up." —quote from Christopher Nolan's Batman trilogy I'm a big fan of this trilogy, and in most of the social accounts, my username was Dark Knight (my team name for this hackathon was "Dark Knight"). So yes, before the third challenge month statements were released, I started to learn a lot from the DataStax documentation for AstraDB Buildathon, and I even took up the Cassandra Developer Certification Path course from DataStax Academy. After awhile, I felt something was missing with AstraDB, and yes, it was the no code environment to manage AstraDB databases (like how MongoDB has one called Compass), and this is how I ended up building the AstraDB Navigator (a no code environment to manage your AstraDB databases)

What’s technically special with the AstraDB Navigator?

It was built from scratch using ReactJS and Netlify functions. In order to keep the application as light-weight as possible, I didn’t use any third-party libraries (like Boostrap and so on). Instead, I wrote custom-styled components, with which I tried my level best to bring out the UI to look similar to DataStax’s other products. On the other hand, I also felt like it would be nice if it was available in multiple languages; therefore, I ended up adding translations for Spanish, Italian, and French. "Did I use any external APIs to do the translations?" No. Because, as previously stated, I needed to keep it light. So I created a file that contains translations for all the texts that are in English and added the results from Google Translate. The main aim was to build AstraDB Navigator as a cross-platform standalone desktop application using ElectronJS astra navigator tech stack

Why not a desktop app?

Being a JavaScript developer, it was easy to get started with ElectronJS. Instead of spending time on learning ElectronJS and then building the app, I kept adding lots of functionalities to the existing React project. like the app’s navigation, which was done internally within the programme rather than depending upon the browser. So that when the time comes to move the project from a web app to a desktop app, there isn’t any need to worry about the navigation and other stuff (I didn’t want to get deep with the technical stuff). and, of course, yes, I’m looking forward to working on this project cors meme

Complications when building AstraDB Navigator

Yup. It's a very big nightmare, and I’m pretty sure every developer has faced this. It was only 22 hours prior to the submission deadline that I was working on patching up the app with AstraDB. Having an assumption that it was an easy task (well, later it seemed to be easy but was a long task), I was just mimicking the API function calls with dummy data (which you can still find here). When I started working with the real API, I was blocked by the CORS policy at Stargate APIs. It is pretty obvious that every API has this as a measure to increase their security. I was literally in tears that I would not be able to make it. But then it was Stefano Lottini and Cédrick Lunven from DataStax Advocate Developers (well, they are heroes who don’t wear capes) who told me about Netlify functions. And the rest of the story can be found in the winner announcement

If you made it all the way here, then I would like to thank you for reading. Please support me by following me here on HashNode, on GitHub on Twitter or on LinkedIn.