N
NatiStream
Transcript
Hiển thị

Introduction and Project Overview

This chapter introduces the video tutorial, which demonstrates building and deploying a full-stack social media app using React, TypeScript, Appwrite Cloud, Tailwind CSS, and React Query. The app features infinite scroll, authentication, file management, liking/saving posts, profile editing, and a mobile-responsive UI. Appwrite Cloud provides a free backend with authentication, databases, storage, and serverless functions. React Query is used for data fetching, caching, and state management.

this is not your typical Instagram clone we're bringing you a modern social app with stunning UI with a native mobile feel a special text stack an infinite scroll feature and amazing performance have you ever struggled with complicated server setups worrying about security handling user off scaling managing and storing files securely and optimizing API performance without losing countless

development hours if that is the case Cas you're not alone and I've got something that can help whether you're a new or a season developer thinking of starting a fresh side project doing all these things on your own can be quite a hassle so hi there and welcome to a new project video where you'll build and deploy an amazing social site with a hassle-free backend thanks to aight

Cloud it allows you to create a backend faster than Thanos snaps his fingers and at a much lower cost than scary Firebase for pro plans you'll get what you would otherwise have to pay in Firebase for free with aite but what are we building the app you'll build contains a robust and stunning authentication system a homepage for exploring posts shared by others with top creators featured on the

right the ability to like and save posts accessible through a separate dedicated page and you might think here we go again another Instagram clone but trust me this is not your typical app sure you've probably mastered the basics of crowd operations but have you ever had a chance to implement that one incredible feature that's had us all hooked for decades yes the infinite scroll we'll

implement it inside the explore page integrate it together with the sech functionality and I will teach you how to do the same for all other Pages too and moving to other phenomenal features will develop a detailed post page that also displays related posts a profile page showcasing your liked posts and the ability to edit your profile similarly browsing other users and their profiles

a create post page for sharing all kinds of memories you would like to share with effortless file management and storage and a drag and drop feature an edit post page to edit the contents of your post anytime and so much more with an amazing responsive UI with the Bottom bar that surely gives the feel of a native mobile app does it sound exciting as it does to

me we'll develop all of these all well learning react context API complex react routing with outlet and conditional rendering we'll use the latest version 5.0 of the backand agnostic data fetching Library famously known as react query now t stack query that will allow us to implement autoc caching ref fetching parallel queries a first class mutations loading State

Management and more then you'll also learn Tailwind shaten ight Cloud as a backend as a service tool and everyone's favorite typescript there is a lot to learn so I hope you're pumped to learn these exciting features and master the Most Wanted skills to impress potential employees ERS and clients with that said before we dive into the development of this app there's one more thing that we

must do and that is set up an account on aight Cloud so right now click the special link in the description that's going to allow you to follow along with this video and create a phenomenal backend with an aight Cloud once you click it their homepage is going to open and then you can go to sign up once you're in you can sign in or sign up the simplest way to do it is using GitHub

once you're in you'll have to create your first project use JSM to start with and then add an underscore and add your app name I'm going to choose snapgram but you can choose anything else maybe something with just a bit more imagination and then click create project and we are in operate cloud is going to allow us to create robust secure and scalable backend applications

it provides sdks and server functions that you can integrate with any kind of framework some of the best features they offer and at the same time the features we'll use to create this project are o where you'll be able to add specific team-based and permission-based security they offer o options from email and password to Magic URLs and more than 30 social sign-ins

the next thing we'll use in our project are going to be databases you can add more than one database for a specific project in the process of creating it is super simple then you can of course add many different Collections and the best thing is each collection has its own attributes which can be of a lot of different types and you have advanced permissions on a collection level the

next feature I'll also teach you how to use is storage it allows us to quickly create buckets of different files where we can store any kind of images and even export them and transform them to reduce file sizes and finally there are cloud-based serverless functions and the best thing about aite is that it offers all of these features for free setting it apart from traditional backend

diservice Tools in terms of pricing and value and because of that it's no surprise that aide has become a trending project on GitHub so now that you're set up with aide and hopefully excited for what we're are about to build together let's Dive Right In to get started with developing our phenomenal in Instagram clone application we can start by creating a new empty folder on our

desktop and let's call it snapgram once you created it you can simply drag and drop it into your code editor of choice in this case Visual Studio code once you're there you can go to the top go to view and then terminal this is going to open up a built-in integrated Visual Studio code terminal lately we've been doing a lot of next year yes so I'm quite excited to

get back to react a bit we're going to use vit which is the fastest way to set up our development environment for react so head to VJs dodev and click get started once you're here you can scroll down a bit and you can see that you can initialize your V application by running mpm create V at latest so paste that Command right here add a slash to create it in the current snapgram repository

we're in and press enter this is going to ask you whether you want to install the create feed package to which you're going to say why or yes and then you can choose which type of application you want to run in this case we're going to choose react we will use typescript so you can press enter and that's it you can run mpm install to install all the necessary dependencies and then mpm runev to see

it in our browser the installation usually takes just a couple of seconds so let's wait for it and then we'll be able to run the app once it is done press mpm run Dev this is going to spin up our application on Local Host 5173 and you can see it took less than a second to spin it up so hold control and then click right here to open it up once you do that you'll see a simple V and

react starter this means that we are ready to get started with creating the base file and folder structure of our application so let's start from beginning here we have our source inside of which our entire application will be here we have assets which we can move to the public folder just to clean up what we have in the source we're going to have a couple of different CSS files but

for now I want you to delete everything that's inside of the source as a matter of fact let's delete the entire Source itself because we're going to recreate it immediately after so create a new source folder so we can start from scratch and the main point of cont we need here is a file called main. TSX this is the starting point of our application where we can import react

1 / 8