Blued Web App

Build a Modern Web Application

Deploy a web application, connect to a database, and analyze user behavior

Watch the latest broadcasts and digital media from your favorite schools. Blued is currently the largest gay social network app in the world. Launched in 2012, the free app now counts 40 million users with the majority still in its country of origin, China. The application is available on Android and iOS. Its features include verified profiles, live broadcasting, a timeline, and group conversations. Blued is also an all-purpose lgbt app for people who want to be a part of the community. Through the app you can enjoy a premium version with special features, including the live stream, video chat, group formed by others users and the services specially for the gay community, these features do not have location limitation hence allow our users.

Introduction: Build a Modern Web Application in Python

Follow step-by-step instructions to build your first modern application.

Overview

In this tutorial, you’ll build your first modern application on AWS. Modern applications isolate business logic, optimize reuse and iteration, and remove overhead everywhere possible. Modern apps are built using services that enable you to focus on writing code while automating infrastructure maintenance tasks.

You will build a sample website called Mythical Mysfits that enables visitors to adopt a fantasy creature (mysfit) as pet. You can see a working sample of this website at: www.mythicalmysfits.com

This version of the tutorial matches the Python language version of the tutorial. If you would like to try the tutorial in another language, please visit the main branch and select your preferred programming language from there (scroll to the bottom of the page).

What You Will Learn

This tutorial will walk you through the steps to create a well-architected sample web application discussed above. You will learn to host this web application on a front-end web server and connect it to a backend database. You’ll also learn to set up user authentication and will be able to collect and analyze user behavior.

The site provides basic functionality such as ability to “like” your favorite mysfit and reserve your chosen mysfit for adoption. It also allows you to gather insights about user behavior for future analysis.

Application Architecture

The application architecture diagrams provide a structural representation of the services that make up Mythical Mysfits and how these services interact with each other. Don’t worry if you aren’t completely familiar with the services and features mentioned below. As we work through the tutorial, we’ll discuss the services in detail and point to resources that will help you get up to speed with them.

Modules

The application architecture diagrams provide a structural representation of the services that make up Mythical Mysfits and how these services interact with each other. Don’t worry if you aren’t completely familiar with the services and features mentioned below. As we work through the tutorial, we’ll discuss the services in detail and point to resources that will help you get up to speed with them.

Blued

You will implement Mythical Mysfits using these modules:

  1. Create Static Website Build a static website, using Amazon Simple Storage Service (S3) that serves static content (images, static text, etc.) for your website.
  2. Build Dynamic Website Host your application logic on a web server, using an API backend microservice deployed as a container through AWS Fargate.
  3. Store Mysfit Data Externalize all of the mysfit data and persist it with a managed NoSQL database provided by Amazon DynamoDB.
  4. Add User Registration Enable users to registration, authentication, and authorization so that Mythical Mysfits visitors can like and adopt myfits, enabled through AWS API Gateway and its integration with Amazon Cognito.
  5. Capture User Clicks Capture user behavior with a clickstream analysis microservice that will record and analyze clicks on the website using AWS Lambda and Amazon Kinesis Firehose.

You will be creating and deploying changes to this application completely programmatically. You will use the AWS Command Line Interface to execute commands that create the required infrastructure components, which includes a fully managed CI/CD stack utilizing AWS CodeCommit, CodeBuild, and CodePipeline. Finally, you will complete the development tasks required all within your own browser using the cloud-based IDE, AWS Cloud9.

Many of the services used are included in the AWS Free Tier. For those that are not, the sample application will cost, in total, less than $1/day.

To complete this learning path, you will need:
✓ An AWS Account and Administrator-level access to it**

*This estimate assumes you follow the recommended configurations throughout the tutorial and terminate all resources within 24 hours.

**Accounts that have been created within the last 24 hours might not yet have access to the resources required for this learning.

Blued Web App Login

Blued web app login

Build a static website: Mythical Mysfits

-->

Azure Static Web Apps is a service that automatically builds and deploys full stack web apps to Azure from a code repository.

Web App 21

The workflow of Azure Static Web Apps is tailored to a developer's daily workflow. Apps are built and deployed based off code changes.

When you create an Azure Static Web Apps resource, Azure interacts directly with GitHub or Azure DevOps to monitor a branch of your choice. Every time you push commits or accept pull requests into the watched branch, a build is automatically run and your app and API is deployed to Azure.

Blued Web Apps

Static web apps are commonly built using libraries and frameworks like Angular, React, Svelte, Vue, or Blazor where server side rendering is not required. These apps include HTML, CSS, JavaScript, and image assets that make up the application. With a traditional web server, these assets are served from a single server alongside any required API endpoints.

With Static Web Apps, static assets are separated from a traditional web server and are instead served from points geographically distributed around the world. This distribution makes serving files much faster as files are physically closer to end users. In addition, API endpoints are hosted using a serverless architecture, which avoids the need for a full back-end server all together.

Key features

  • Web hosting for static content like HTML, CSS, JavaScript, and images.
  • Integrated API support provided by Azure Functions with the option to link an existing Azure Functions app using a standard account.
  • First-class GitHub and Azure DevOps integration where repository changes trigger builds and deployments.
  • Globally distributed static content, putting content closer to your users.
  • Free SSL certificates, which are automatically renewed.
  • Custom domains to provide branded customizations to your app.
  • Seamless security model with a reverse-proxy when calling APIs, which requires no CORS configuration.
  • Authentication provider integrations with Azure Active Directory, GitHub, and Twitter.
  • Customizable authorization role definition and assignments.
  • Back-end routing rules enabling full control over the content and routes you serve.
  • Generated staging versions powered by pull requests enabling preview versions of your site before publishing.

Futbin

What you can do with Static Web Apps

  • Build modern web applications with JavaScript frameworks and libraries like Angular, React, Svelte, Vue, or using Blazor to create WebAssembly applications, with an Azure Functions back-end.
  • Publish static sites with frameworks like Gatsby, Hugo, VuePress.
  • Deploy web applications with frameworks like Next.js and Nuxt.js.

Next steps