DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Node.js: Architectural Gems and Best Practices for Developers to Excel
  • Top React Libraries for Data-Driven Dashboard App Development
  • The Best Node.js IDEs in the Market Right Now
  • Hiring Full-Stack Developers? 6 Skills To Look For in 2022

Trending

  • Integration Isn’t a Task — It’s an Architectural Discipline
  • Vibe Coding With GitHub Copilot: Optimizing API Performance in Fintech Microservices
  • A Modern Stack for Building Scalable Systems
  • Unmasking Entity-Based Data Masking: Best Practices 2025
  1. DZone
  2. Data Engineering
  3. Databases
  4. Build Your First App with JavaScript, Node.js, and DataStax Astra DB

Build Your First App with JavaScript, Node.js, and DataStax Astra DB

Designed to help developers understand technologies like Node.js, GraphQL, React, Netlify, and JavaScript to kickstart their app development portfolio.

By 
Cedrick Lunven user avatar
Cedrick Lunven
·
Dec. 18, 22 · Tutorial
Likes (1)
Comment
Save
Tweet
Share
6.8K Views

Join the DZone community and get the full member experience.

Join For Free

This is the first of a three-part app development workshop series designed to help developers understand technologies like Node.js, GraphQL, React, Netlify, and JavaScript to kickstart their app development portfolio. In this post, we’ll cover the fundamental concepts of website applications and introduce DataStax Astra DB as your free, fast, always-on database based on Apache Cassandra®.

In the U.S. we spend almost 88% of our mobile internet time buried in apps like Facebook, Instagram, TikTok, and games. With nearly a million new apps released each year and 218 billion app downloads in 2020, learning how to build them is an essential step in any front-end developer’s career.

So how can you start building apps? As a modern app developer, you’re spoiled for choice with multi-cloud platforms and open-source frameworks that do all the heavy lifting for you. Suppose you learn the basics and leverage the right tools. In that case, you can go from developing simple to-do lists to a full-stack Netflix clone — which is precisely what we’ll be covering in our application development workshop series.

This first workshop is about building a website application to put you on the right track. You’ll learn the fundamentals of web apps, become familiar with popular languages (like JavaScript), and then get a pre-coded to-do list app that you’ll learn how to modify and deploy. It’ll take you less than three hours to complete, and all you need is a web browser and an internet connection. Let’s get started.

The Basics of Web App Development

A website application (or web app) is software that runs on a remote server and can be accessed using a web browser on any device. Think of apps like Slack, Gmail, Google Docs, and Twitter, for example. Unlike native apps, which are installed directly on a device and designed for specific operating systems, web apps can reuse the same code and adapt their interface to any mobile device, laptop, or tablet.

While native apps perform much faster, they’re also expensive to develop because you need to learn different languages and frameworks for each platform or device. Web apps, on the other hand, can be “built once and reused forever,” and are vastly simpler to launch, manage and iterate.

When developing a web app, you’ll typically use the following architecture:

The Basics of Web App Development


Figure 1: Architecture of a typical website application.
  • The client is your device’s web browser, which you use to access the app.
  • The front end is what the user interacts with, and is basically a web server that relies on three main technologies: HTML, CSS, and JavaScript.
  • The backend is what interacts with the webserver and stores all the database drivers, APIs, and microservices that bridge the front end with the backend.
  • The data layer is where you store the states of your app. This can be in a filesystem, external storage, document-oriented software, or a database.

A popular database you might already be familiar with is Apache Cassandra®, which powers high-performing applications for thousands of companies including Hulu, Netflix, Spotify, and Apple. While this free, open-source database is known for its high availability, scalability, and resilience; the downside is that it’s also notoriously complex to set up and manage.

This complexity is an ongoing theme when working with the data layer. As a developer, you need just four operations to interact with your database: create, read, update, and delete. But to execute them, you first have to learn the language for the database you’re using. For example, you’d need Cassandra Query Language (CQL) to interact with a Cassandra database. What’s more, you’d also need to learn how to design the data model (schema) so you can properly format and organize the data stored in your database.

It’s a steep learning curve for a new app developer, which is why DataStax built Astra DB, the serverless Cassandra-as-a-Service, as part of our mission to connect every developer to the power of Cassandra.

Simplify Cassandra App Development With Astra DB

Astra DB is the simplest way for developers to back their applications with cloud-native Cassandra, allowing them to:

  • Deploy modern apps faster without the complexities of installing, managing, or scaling Cassandra.
  • Interact with your database using multiple APIs to avoid data modelling.
  • Bake in security from the ground up with encrypted data and JSON web token (JWT) based authentication for secure communication with your database.
  • Choose whether to deploy your Astra DB on Azure, GCP, or AWS.
  • Autoscale database resources are based on traffic and app requirements so you only pay for what you use.

As a developer, you can create an account on Astra DB for free. You get 3.5 million queries and 40 GB each month, and when you’re ready to scale, you can simply pay as you go.

Astra DB doesn’t just give you a database, it also gives you a collection of APIs that you can use to interact with your database out of the box. This API layer that sits between your app and your Astra DB is called Stargate.

AstraDB architecture


Stargate helps you streamline app development with Cassandra using popular APIs:

  • REST provides a common gateway so you can access your data using a familiar interface through RESTful APIs for any Cassandra database.
  • Document (JSON) is a documents API that lets you save and search schemaless JSON documents in Cassandra (with no data modelling needed).
  • GraphQL is a query language for APIs that lets you insert, query, and change data within the database (without writing in CQL).

All of this means fewer languages and frameworks for you to learn and a shorter time to launch. Think of AstraDB as your own personal Samwise Gamgee, with all kinds of useful tools in its bag to make your app development journey easier.

Build Your First Web App With JS, Node.JS, and Astra DB

There’s no better exercise to get you started as an app developer than building a to-do list. The concepts and techniques you’ll learn in our first workshop are fundamental to building any web app and will put you on track to creating more advanced apps yourself. So, in this workshop you’ll learn how to:

  1. Set up a free Astra DB instance
  2. Run the web-based IDE Gitpod
  3. Interact with the database using APIs
  4. Build a to-do list app using React

You don’t have to install anything and the technologies involved are all open-source and free to use. Aside from Astra DB, here’s a quick intro to the other technologies we’ll cover in this first workshop:

  • Gitpod is a cloud-based integrated development environment (IDE) powered by VS Code that lets you create ready-made dev environments and edit your code directly in your browser.
  • Node.js is a runtime environment that executes JavaScript outside of a browser to let you generate dynamic page content and interact with the data in your database.
  • React is a JavaScript library to create interactive user interfaces that easily adapt across most browsers and devices.

To give you the bigger picture, here’s the architecture we’ll be following to build the to-do list app:

architecture


To get started, simply sign up for your free Astra DB account, then head over to the workshop video on YouTube.

For the source code, slides, exercises, and step-by-step guide go to our DataStax Developers repo on GitHub.

When you’ve completed your first app and are ready for the next step in your app development journey, dig into our second workshop on building a TikTok clone!

Apache Cassandra Database Integrated development environment JavaScript Node.js Open source Web apps app Build (game engine) dev

Published at DZone with permission of Cedrick Lunven. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Node.js: Architectural Gems and Best Practices for Developers to Excel
  • Top React Libraries for Data-Driven Dashboard App Development
  • The Best Node.js IDEs in the Market Right Now
  • Hiring Full-Stack Developers? 6 Skills To Look For in 2022

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!