section-engineering-education / engineering-education

“Section's Engineering Education (EngEd) Program is dedicated to offering a unique quality community experience for computer science university students."
Apache License 2.0
363 stars 889 forks source link

Web application authentication with Next.js, TailwindCSS, and Supabase. #5033

Closed calebro-xyz closed 2 years ago

calebro-xyz commented 2 years ago

Topic Suggestion

[Languages] Web application authentication with Next.js, TailwindCSS, and Supabase.

Writing samples:

https://www.section.io/engineering-education/fundamentals-of-container-security/

https://www.section.io/engineering-education/telegram-bot-in-nodejs/

Proposal Submission

Proposed title of the article

[Languages] Web application authentication with Next.js, TailwindCSS, and Supabase.

Proposed article introduction

Introduction

What is Next.js?

Next.js is an open-source web development framework built on top of Node.js that extends the capabilities of React.js framework-based functionalities such as server-side rendering and generating static websites.

The concept of Backend-as-a-service (Baas)

Backend-as-a-Service (BaaS) empowers a developer to focus on other areas of development such as frontend and UI/UX of their applications and use backend service without developing and maintaining them. Some baas projects you should check out are firebase, appwrite, and (supabase)[https://supabase.io/]. The B-a-a-s we are going to use is supabase.

Supabase as they describe themselves is an open-source firebase alternative. This is a backend service that provides functionalities such as authentication, storage, database, and soon-to-launch functions.

Supabase authentication feature is fully-resourced with social logins, user management, and Build Authorization rules with Postgres' Row Level Security.

Prerequisites

To make the most of this tutorial, you will need:

  1. Latest version of Node.js installed.

  2. Github Account

Setting up your project

Let us first set up a next.js project. Fire up your terminal and type in the following command to create a next.js project with TailwindCSS.

npx create-next-app -e with-tailwindcss web-project

Now let us navigate into the following directory.

cd web-project

Next, let us set up a supabase project.

  1. Go to supabase.io

  2. Create an account using a Github profile

  3. Go ahead and create a project by filling in all the required fields.

  4. Let us install supabase locally using the following command.

npm install @supabase/supabase-js

Key takeaways

  1. Getting started with Next.js

  2. Setting up Supabase project.

  3. Linking your supabase project and next.js application.

  4. Deploying your application on Vercel.

Article quality

This article will be more in-depth and also include styling the frontend using TailwindCSS.

References

Supabase Documentation

Next.js Documentation

ahmadmardeni1 commented 2 years ago

I'm going to close this topic due to inactivity. It can be reopened.