Build and Deploy a Full Stack Social Media App | React JS, Appwrite, Tailwind CSS, React Query

Build and Deploy a Full Stack Social Media App | React JS, Appwrite, Tailwind CSS, React Query

JavaScript Mastery

10 месяцев назад

793,164 Просмотров

Build a modern social app with a stunning UI with a native mobile feel, a special tech stack, an infinite scroll feature, and amazing performance using React JS, Appwrite, TypeScript, and more.

⭐ Appwrite: https://apwr.dev/JSMastery

🌟 Become a top 1% Next.js 14 developer in only one course: https://jsmastery.pro/next14

📚 Materials/References:
GitHub Code (give it a star ⭐): https://github.com/adrianhajdin/social_media_app
GitHub Gist (Assets + code): https://gist.github.com/adrianhajdin/4d2500bf5af601bbd9f4f596298d33ac
Active Lessons: https://www.jsmastery.pro/blog

There is an editing error in the YouTube video at 3:13:28. I discuss the useCreate mutation hook before it's made at 3:19:28. Just follow along and implement the hook at 3:19:28; it'll work fine.

💻 Join our Discord Community - https://discord.gg/n6EdbFJ
🐦 Follow us on Twitter: https://twitter.com/jsmasterypro
🖼️ Follow us on Instagram: https://instagram.com/javascriptmastery

💼 Business Inquiries: [email protected]

Time Stamps 👇
00:00:00 - Intro
00:05:56 - Setup
00:15:50 - Routing
00:18:51 - File & Folder Structure
00:23:49 - Auth Pages
00:51:16 - Auth Functionality - Appwrite
01:02:39 - Storage & Database Design
01:31:21 - TanStack Query
02:15:48 - HomePage
02:48:27 - Create Post
03:39:48 - Post Card
04:32:53 - Post CRUD
04:49:44 - Post Details
05:02:03 - Explore Page
05:29:03 - Search Results
05:39:22 - Active Lesson
05:45:58 - Deployment

Тэги:

#javascript #javascript_mastery #js_mastery #master_javascript #javascript_mastery_react_js #javascript_mastery_portfolio #javascript_mastery_react #tailwind_css_react #tailwind_css_tutorial_react #react #react_query #react_query_tutorial #react_js #react_context #tailwind_css #react_js_tutorial #react_js_full_course #react_js_project #react.js #react.js_project #react.js_full_course #social_media_app_using_react_js #social_media_app_react
Ссылки и html тэги не поддерживаются


Комментарии:

@HiImKyle
@HiImKyle - 01.09.2024 08:09

Feel like this video would be like 2 hours shorter if you just actually used the copilot suggestions instead of typing it out manually

Ответить
@subashree2197
@subashree2197 - 01.09.2024 07:46

hey someone please give me a reply!! Can i get the Database structure figma?

Ответить
@Sameer-mo7rn
@Sameer-mo7rn - 25.08.2024 22:33

Finally completed this Project with all the tasks done.. its been a hell of a journey but yeah it was all worth it thanks buddy

Ответить
@sumandevkota2838
@sumandevkota2838 - 23.08.2024 19:37

is there isLoading in mutation?i think there is isPending in mutation

Ответить
@user-ll7ep6qd4n
@user-ll7ep6qd4n - 14.08.2024 14:54

i receive an error when trying to create the many to many relationship between users, likes, and liked. How do I get around that problem?

Ответить
@kaushalendrapandey3673
@kaushalendrapandey3673 - 10.08.2024 17:57

unable to update like i.e updating like but after refreshing it get back to zero

Ответить
@seveto3911
@seveto3911 - 03.08.2024 17:51

More visuals 😁

Ответить
@ashokbasak7846
@ashokbasak7846 - 26.07.2024 08:55

Hi everyone. I am facing a problem while updating a post.
Seemingly simple but I'm running into error everytime I run this and the error is

[AppwriteException: Invalid relationship value. Must be either a document ID or a document, array given.]

Ответить
@ace627
@ace627 - 23.07.2024 20:25

can i put this on resume just need some advice

Ответить
@Ebenezerndukwe
@Ebenezerndukwe - 23.07.2024 19:48

Please push this code to GitHub 😢😢

Ответить
@SamJr-ne3qt
@SamJr-ne3qt - 20.07.2024 15:08

have you use any algorithm in this app?

Ответить
@chiragsankhlacs
@chiragsankhlacs - 19.07.2024 10:49

the media permission in storage is not getting set as they are demanding to upgrade the plan from free to paid. I am in the mid of the project , what should i do now 😔

Ответить
@kumargourab9090
@kumargourab9090 - 17.07.2024 09:05

Is the app write totally free or it charges something which is very low, because i want save my databases for life time .

Ответить
@shaisssss
@shaisssss - 14.07.2024 10:01

Is there any with javascript , not with typescript

Ответить
@fazaareza5507
@fazaareza5507 - 13.07.2024 12:43

so we developer never knew about the password? because we didn't put it in our database?

Ответить
@Jon-tp6gr
@Jon-tp6gr - 13.07.2024 03:05

Is it a good idea to follow along with the video understand all frameworks and use this project on resume?

Ответить
@PedroLucas-vl9is
@PedroLucas-vl9is - 11.07.2024 19:39

I want to add the possibility to upload PDF in the snapgram....how i do that?
Pls

Ответить
@SaurabhPandey-x1k
@SaurabhPandey-x1k - 10.07.2024 22:48

Keyvalidater.parse is not function., i am stuck at this error what i can do

Ответить
@parzival5884
@parzival5884 - 08.07.2024 23:59

You should Implement following No point in having a Follow button that does nothing other than that amazing job i love it

Ответить
@parzival5884
@parzival5884 - 08.07.2024 16:35

line 59 in api.ts createEmailSession Property 'createEmailSession' does not exist on type 'Account'. Did you mean 'createSession'?ts(2551)
account.d.ts(434, 5): 'createSession' is declared here. Im assuming Type script changes this in an update because its createEmailPasswordSession() now

Ответить
@CJ-xh2mj
@CJ-xh2mj - 07.07.2024 04:36

and the circles with the history on top, which are in the picture, why are not in the course. it is not shown how they are made

Ответить
@rohithkumar2832
@rohithkumar2832 - 05.07.2024 23:14

Can't find the SearchResults.jsx file in GitHub code....how to get it and it's shown in video but didn't uploaded in the github

Ответить
@fazaareza3374
@fazaareza3374 - 04.07.2024 16:35

im on tanstack/react-query": "^5.49.2", and the problem is that the tanstack documentation is also messed up, i can't search anything on that website

Ответить
@aldhairsorian
@aldhairsorian - 03.07.2024 05:56

Guys alguien sabe qué técnicas puedo aplicar si mi no se inglés pero quiero hacer este curso y aprender éstas tecnologías pero no confío en el autotranslate, así que yo me pongo a hacer los subtítulos linea por linea pero me toma mucho tiempo, alguien tiene alguna técnica que me podría ayudar? Gracias.

Ответить
@IsaacOladimeji
@IsaacOladimeji - 02.07.2024 17:46

Amazing

Ответить
@edoardoangeli4704
@edoardoangeli4704 - 26.06.2024 20:08

great video and great skills Adrian, chapeau

Ответить
@rising_storm
@rising_storm - 26.06.2024 19:56

Why you haven't add comment section on posts, you only have like and save. It's not interactive at all!!!

Ответить
@user-ob8cv5wy7g
@user-ob8cv5wy7g - 24.06.2024 12:24

Why you're declaring each Types with "I" prefix ex: INewPost, INewUser

Ответить
@ToyhonaUz
@ToyhonaUz - 16.06.2024 19:04

Hi! If anyone is annoyed by the "any" error, in src/_root/pages/Explore.tsx, then add // eslint-disable-line @typescript-eslint/no-explicit-any

export type SearchResultProps = {
isSearchFetching: boolean;
searchedPosts: any; // eslint-disable-line @typescript-eslint/no-explicit-any
};

Ответить
@nickmurdaugh9856
@nickmurdaugh9856 - 12.06.2024 02:38

God. I would kill for a channel on Vue that was as good as this.

Ответить
@JulianA-rm4ry
@JulianA-rm4ry - 11.06.2024 08:11

but there's no infinite scroll...lol

Ответить
@asfsafsafasfsafs5320
@asfsafsafasfsafs5320 - 09.06.2024 21:46

if anyone encounters an error
react-dom.development.js:26962 Uncaught Error: useRoutes() may be used only in the context of a <Router> component.

import { BrowserRouter as Router } from "react-router-dom";

<Router>
<Routes>
...
</Routes>
</Router>

Ответить
@arkadiuszadamowicz4612
@arkadiuszadamowicz4612 - 07.06.2024 21:05

what;s wrong with my handleDelete function. I cannot, delete saved post in current user.

const handleDeletePost = () => {
deletePost({ postId: id || '', imageId: post?.imageId });
deleteSavedPost({
savedPostId: id || '',
user: post?.user,
post: post?.post,
});
navigate(-1);
};

.....
//api
export async function deleteSavedPost(
savedPostId: string,
user: string,
post: string
) {
if (!savedPostId || user || post) throw Error;

--
//query
export const useDeleteSavedPost = () => {
const queryClient = useQueryClient();

return useMutation({
mutationFn: ({
savedPostId,
user,
post,
}: {
savedPostId: string;
user: string;
post: string;
}) => deleteSavedPost(savedPostId, user, post),
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: [QUERY_KEYS.GET_RECENT_POSTS],
});
queryClient.invalidateQueries({
queryKey: [QUERY_KEYS.GET_POSTS],
});
queryClient.invalidateQueries({
queryKey: [QUERY_KEYS.GET_CURRENT_USER],
});
},
});
};

Ответить
@emilyadashtoyan5888
@emilyadashtoyan5888 - 07.06.2024 12:54

First of all, I want to appreciate for such as Quality content. I am confused and stuck on shadcn components.
Please give me direction on solving the issue with "globals.css".
My <Button> component does not work properly. Whenever I run "npx shadcn-ui@latest init" command, it reWrite all styles of "globals.css" , what should I do to prevent it?

Ответить
@GorillaNews767
@GorillaNews767 - 04.06.2024 16:24

How do i add a domain?

Ответить
@arkadiuszadamowicz4612
@arkadiuszadamowicz4612 - 01.06.2024 10:45

In case you have error with getNextPageParam while deploy app here's right code fragment:
you need to add "initialPageParam: undefined," - this line. If VBC complains about "any" value just disable

export const useGetPosts = () => {
return useInfiniteQuery({
queryKey: [QUERY_KEYS.GET_INFINITE_POSTS],
queryFn: getInfinitePosts as any,
initialPageParam: undefined,
getNextPageParam: (lastPage: any) => {
if (lastPage && lastPage?.documents?.length === 0) return null;

const lastId = lastPage?.documents[lastPage?.documents.length - 1].$id;
return lastId;
},
});
};

Ответить
@DeadVisionsStories
@DeadVisionsStories - 28.05.2024 03:46

is anyone else having issues with globals.css coming up with problems?

Ответить
@DeadVisionsStories
@DeadVisionsStories - 28.05.2024 02:58

Does anyone here know why my Vite page isn't displaying or updating everything? I have no errors, and the code is perfect, but it is not updating or displaying anything.

Ответить
@uditnagar7905
@uditnagar7905 - 27.05.2024 14:51

Thanks for the active lessons sir...I just now noticed it on the timeline....Please implement in all your future videos

Ответить
@N-1GATTA
@N-1GATTA - 23.05.2024 21:39

it So Amazing omg he just need to add Coment for posts

Ответить
@mightyprogrammer2899
@mightyprogrammer2899 - 23.05.2024 09:20

Does anyone know which extension he is using in VS Code that shows prewritten lines of code before he writes the actual code?

Ответить
@andreslamar9444
@andreslamar9444 - 19.05.2024 20:50

Finally I managed to get all the project done🎉
I create my own backend with node.js using express and PostgreSQL as the DB, implement all the active lessons and some other features by my own, i deployed the frontend in Vercel.
I really learned a lot more doing this project than following just tecnical courses, because it pushed me to learn some things by myself to solve some bugs and implement more features.
I really appreciate this channel, i'm so excited to start other project and continue learning a lot more. 🔥

Ответить
@varungehlot5221
@varungehlot5221 - 18.05.2024 16:56

Did Appwrite sponser you? Or is it really that great?

Ответить