Build a Full-Stack Twitter Clone with Rust

Build a Full-Stack Twitter Clone with Rust

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 167 Lessons (15h 00m) | 2.92 GB

This portfolio project involves building a Twitter clone using Rust for both the frontend and backend, entirely from scratch. This the perfect opportunity to advance your skills with the Rust and learn about the intricacies of full-stack web development!

This project focuses on building a Twitter clone using Rust for both the frontend and backend, completely from scratch. The project covers various web application features including server-side software development with URL routing for public and private entry points, sessions, hosting static data, API access, and data management using a query builder. An interactive one-page interface allows users to create posts, upload images, participate in polls, edit and view profiles, and add posts to bookmarks. The project also explores testing the application, modifying the build environment for more efficient development, creating documentation, and troubleshooting issues and bugs that arise.

WHY IS THIS PROJECT GREAT?

This is a comprehensive project for your portfolio. It will take approximately 15 hours to create.

With a focus on implementing both the frontend and backend using Rust, this project provides a unique opportunity to explore the full capabilities of this powerful programming language. You will gain valuable hands-on experience in creating a complete and functional web application. In addition, you will be introduced to Postgres database integration through the use of the Diesel query builder, which utilizes the power of Rust to provide compile-time access to data and autocomplete queries in an IDE environment. This project is a great opportunity to develop your skills in the Rust programming language and learn the intricacies of developing a complete web application.

Table of Contents

1 Project Demo
2 Tool Installation
3 Design Documentation
4 Viewing Code Changes
5 Registration Page
6 Adding a Route
7 Creating the Registration Form
8 Managing State with Hooks
9 Username Input Field
10 Username Handler
11 Password Input
12 Domain Types
13 Username and Password Types
14 Keyed Notifications
15 Keyed Notifications Template
16 Displaying Registration Errors
17 Disabling Form Submission
18 API Server State
19 API Server CLI
20 API Server Main Function – Part 1
21 API Server Main Function – Part 2
22 Creating a Router
23 Configure Environment
24 Database User ID
25 Database Overview
26 Create New User
27 Routing Layers
28 Endpoint Crate
29 API Error Handling
30 Database Connection Extractor
31 Handling Public API Requests
32 New User Handler
33 Making an API Request
34 Confirming the API Request
35 User-facing Error Messages
36 Login Page
37 Database IDs
38 Making New Sessions
39 Querying Sessions
40 Performing User Login
41 Creating a Session
42 Frontend User Login
43 Checking User Login
44 Routing to the Home Page
45 Autologin After Registration
46 Creating a Navigation Bar
47 Adding Navbar Buttons
48 New Post Popup
49 Defining Chat Data Types
50 Defining Post Data Types
51 Authorized Requests
52 Generic Authorized Handler
53 Database Types
54 Create a New Handler
55 Endpoint URL Macro
56 UI Overview
57 Chat Message
58 Chat Headline
59 Validating the Chat
60 Posting a Chat
61 Setting Up Toast Messages
62 Toast Message Templates
63 Removing Old Toasts
64 Adding Toasts to New Chat
65 Public Post Data Type
66 Trending Endpoint
67 Public Post Data
68 Post Query
69 Trending Page
70 Post Manager
71 Populating the Post Manager
72 Content Template
73 Header Template
74 Action Bar Template
75 Bookmarking a Post
76 Bookmark Queries
77 Bookmark Status
78 Reaction Query
79 Reaction Endpoint
80 Reaction Button Logic
81 Reaction Button Template
82 Aggregate Reaction Query
83 Current Like Status
84 Boost Queries
85 Boost Endpoint
86 Boost Button Logic
87 Autoreloading the Backend
88 Quick Response Template
89 Quick Response Input Box
90 Checking the Quick Respond Box
91 Saving & Loading Images
92 Generating Image URLs
93 Updating the Content Endpoint
94 Updating the New Post Handler
95 Post Image Template
96 Uploading an Image
97 Previewing Uploaded Images
98 Allowing Large Image Uploads
99 Showing Image Posts
100 Poll Endpoint
101 Poll Query
102 Aggregate Queries
103 Updating The to_public Function
104 New Poll Page
105 Submitting a Poll
106 Adding Choices to a Poll
107 Routing
108 Showing Poll Results – Part 1
109 Showing Poll Results – Part 2
110 Vote Endpoint
111 Vote Handler
112 App Bar Layout
113 App Bar Buttons
114 Add App Bar to New Chat Page
115 Add App Bar to New Image & New Poll Pages
116 Home Page Query
117 Like & Bookmark Queries
118 Endpoints
119 Home Page
120 Like & Bookmark Pages
121 Profile Endpoint
122 Profile Update Query
123 View My Profile Handler
124 Update My Profile Handler
125 Update Profile Page
126 Image Upload
127 Email Domain Type
128 Email Field
129 Display Name Field
130 Password & Confirmation Fields
131 Disable Submit Button
132 Submitting Profile Info
133 Checking Profile Submission
134 Add App Bar
135 Endpoint
136 View Profile Page & Routing
137 Fetching a User Profile
138 View Profile Template
139 Post View Profile Click Handler
140 Checking the View Profile Page
141 Displaying the Profile Image
142 Follow-Unfollow Endpoint + Backend
143 Follow-Unfollow Fetch
144 Local Profile
145 Populating the Local Profile
146 Sidebar Setup
147 Sidebar Template
148 Sidebar Buttons
149 Sidebar Profile Image
150 Home Page Help Message
151 Fixing Up the Trending Posts Page
152 Return Absolute URLs
153 No Self-Follow & Sync Follow Status
154 Login & Registration Page Links
155 Hide Navigation Bar
156 Show Profile Image at Login
157 Show Messages on Liked & Bookmarked Pages
158 Show Login Errors
159 Better Server Error Messages
160 Database Testing
161 Running Tests
162 API Testing Utility Functions
163 Writing an API Test
164 Using a Different Test Runner
165 Deployment
166 Fixing Warnings
167 Thank You!

Homepage