|
1 |
| -# LinkedIn Clone |
| 1 | +# React + TypeScript + Vite |
2 | 2 |
|
3 |
| -Building LinkedIn Clone App with React Js, TypeScript, Redux, Styled Component, |
4 |
| -Material-UI, Firebase Realtime Database, Vercel Hosting, |
5 |
| -with complete user authentication (a mobile-friendly). |
| 3 | +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. |
6 | 4 |
|
7 |
| -# Table of contents |
| 5 | +Currently, two official plugins are available: |
8 | 6 |
|
9 |
| -- [Author](#Author) |
10 |
| -- [Demo](#Demo) |
11 |
| -- [Technologies](#Technologies) |
12 |
| -- [Features](#Features) |
13 |
| -- [Related Projects](#Related_Projects) |
14 |
| -- [Optimizations](#Optimizations) |
15 |
| -- [Contributing](#Contributing) |
16 |
| -- [Status](#status) |
17 |
| -- [Inspiration](#inspiration) |
18 |
| -- [Support](#Support) |
19 |
| -- [Feedback](#Feedback) |
20 |
| -- [Run Locally](#Run_Locally) |
21 |
| -- [Environment Variables](#Environment) |
22 |
| -- [Deployment](#Deployment) |
23 |
| -- [Screenshots](#Screenshots) |
| 7 | +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh |
| 8 | +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh |
24 | 9 |
|
25 |
| -# Author |
| 10 | +## Expanding the ESLint configuration |
26 | 11 |
|
27 |
| -### <a href="https://github.com/saddamarbaa">@Saddam Arbaa</a> |
| 12 | +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: |
28 | 13 |
|
29 |
| -# Technologies |
| 14 | +- Configure the top-level `parserOptions` property like this: |
30 | 15 |
|
31 |
| -**Client:** |
32 |
| - |
33 |
| -- React Js |
34 |
| -- Redux |
35 |
| -- Styled Component |
36 |
| -- Material-UI |
37 |
| -- TypeScript |
38 |
| - |
39 |
| -**Server:** |
40 |
| - |
41 |
| -- Firebase Realtime Database |
42 |
| -- Vercel Hosting |
43 |
| -- Firebase Google Authentication |
44 |
| -- Firebase Email and password Authentication |
45 |
| - |
46 |
| -# Demo |
47 |
| - |
48 |
| -## <a href="https://linkedin-clone-app-navy.vercel.app/">LIVE DEMO</a> |
49 |
| - |
50 |
| -# Features |
51 |
| - |
52 |
| -- Complete user authentication users can sign in, sign out |
53 |
| -- Add post |
54 |
| - |
55 |
| -# Optimizations |
56 |
| - |
57 |
| -- Memoization (useMemo, Memo) |
58 |
| -- react-lazy-load-image-component |
59 |
| -- Code-Splitting – React |
60 |
| -- Function components |
61 |
| -- React hooks |
62 |
| -- React useEffect cleanup |
63 |
| -- Server-side rendering - Next.js(TODO) |
64 |
| -- TypeScript |
65 |
| - |
66 |
| -# Contributing |
67 |
| - |
68 |
| -Contributions are always welcome! |
69 |
| - |
70 |
| - |
71 |
| - |
72 |
| -# Related_Projects |
73 |
| - |
74 |
| - |
75 |
| -### Instagram Clone App built with React Js + Next Js + TypeScript + Redux + Tailwind CSS + Heroicons |
76 |
| - |
77 |
| -### <a href="https://github.com/saddamarbaa/Instagram-clone-app-nex-js"> Github Repo </a> |
78 |
| - |
79 |
| -### <a href="https://instagram-clone-app-nex-js.vercel.app/">LIVE DEMO</a> |
80 |
| - |
81 |
| - |
82 |
| -### Facebook Clone App built with React Js + Next Js + TypeScript + Redux + Styled Components |
83 |
| -### <a href="https://github.com/saddamarbaa/facebook-clone-app-nex-js"> Github Repo </a> |
84 |
| -### <a href="https://facebook-clone-app-nex-js.vercel.app/">LIVE DEMO</a> |
85 |
| - |
86 |
| - |
87 |
| -### Messenger Clone App built with React Js + Next Js + Redux + Styled Components + Material-UI |
88 |
| -### <a href="https://github.com/saddamarbaa/messenger-clone-app-nex-js"> Github Repo </a> |
89 |
| -### <a href="https://messenger-clone-app-nex-js.vercel.app/">LIVE DEMO</a> |
90 |
| - |
91 |
| - |
92 |
| -### Gmail Clone App built with React Js + Next Js + TypeScript + Styled Components + Material-UI + Firebase Realtime Database + Vercel Hosting |
93 |
| - |
94 |
| -### <a href="https://github.com/saddamarbaa/Gmail-clone-app-nex-js"> Github Repo </a> |
95 |
| -### <a href="https://gmail-clone-app.vercel.app/">LIVE DEMO</a> |
96 |
| - |
97 |
| - |
98 |
| - |
99 |
| -### Signal Clone App built with React Native + TypeScript + Expo + React Navigation + Firebase Realtime Database + User Authentication + Passwordless Authentication with Magic Link |
100 |
| - |
101 |
| -### <a href="https://github.com/saddamarbaa/signal-clone-app-reactnative-typescript"> Github Repo </a> |
102 |
| - |
103 |
| - |
104 |
| -### WhatsApp Clone App built with React Js + React Context API + Styled Components + Material-UI + Firebase Realtime Database + Firebase Hosting |
105 |
| - |
106 |
| -### <a href="https://github.com/saddamarbaa/whatsapp-clone"> Github Repo </a> |
107 |
| - |
108 |
| -### <a href="https://whatsapp-clone-pwj.web.app/">LIVE DEMO</a> |
109 |
| - |
110 |
| - |
111 |
| -### Slack Clone App built with React Js + Next Js + Styled Components + firebase-hooks + Material-UI |
112 |
| - |
113 |
| -### <a href="https://github.com/saddamarbaa/slack-clone-app-nex-js"> Github Repo </a> |
114 |
| - |
115 |
| -### <a href="https://slack-clone-app-nex-js.vercel.app/">LIVE DEMO</a> |
116 |
| - |
117 |
| - |
118 |
| -### Airbnb Clone App built with React Js + Next Js + Redux + Tailwind CSS |
119 |
| - |
120 |
| -### <a href="https://github.com/saddamarbaa/airbnb-clone-app-nex-js"> Github Repo </a> |
121 |
| - |
122 |
| -### <a href="https://airbnb-clone-app-nex-js.vercel.app/">LIVE DEMO</a> |
123 |
| - |
124 |
| -### Amazon Clone App built with React Js + TypeScript + Redux + Styled Components |
125 |
| - |
126 |
| -### <a href="https://github.com/saddamarbaa/amazon-clone-app-react-typescript"> Github Repo </a> |
127 |
| - |
128 |
| -### <a href="https://amazon-clone-murex-six.vercel.app/">LIVE DEMO</a> |
129 |
| - |
130 |
| - |
131 |
| -### Tesla Clone App built with React Js + TypeScript + Redux + Styled Components + Material-UI + Vercel Hosting |
132 |
| - |
133 |
| -### <a href="https://github.com/saddamarbaa/tesla-clone-app-react-typescript"> Github Repo </a> |
134 |
| -### <a href="https://tesla-clone-app-neon.vercel.app/">LIVE DEMO</a> |
135 |
| - |
136 |
| - |
137 |
| -### Netflix Clone App built with React Js + TypeScript + Redux + Stripe Checkout/Payments + Vercel Hosting + Firebase |
138 |
| - |
139 |
| -### <a href="https://github.com/saddamarbaa/netflix-clone-app-react-typescript"> Github Repo </a> |
140 |
| -### <a href="https://netflix-clone-app-react-typescript.vercel.app/">LIVE DEMO</a> |
141 |
| - |
142 |
| - |
143 |
| - |
144 |
| -# Support |
145 |
| - |
146 |
| -For support, email saddamarbaas@gmail.com. |
147 |
| - |
148 |
| -# Feedback |
149 |
| - |
150 |
| -If you have any feedback, please reach out to me at saddamarbaas@gmail.com |
151 |
| - |
152 |
| -Twitter |
153 |
| -https://twitter.com/ArbaaSaddam/ |
154 |
| - |
155 |
| -Linkedin. |
156 |
| -https://www.linkedin.com/in/saddamarbaa/ |
157 |
| - |
158 |
| -Github |
159 |
| -https://github.com/saddamarbaa |
160 |
| - |
161 |
| -Instagram |
162 |
| -https://www.instagram.com/saddam.dev/ |
163 |
| - |
164 |
| -Facebook |
165 |
| -https://www.facebook.com/saddam.arbaa |
166 |
| - |
167 |
| -# Run_Locally |
168 |
| - |
169 |
| -Clone the project |
170 |
| - |
171 |
| -```bash |
172 |
| - https://github.com/saddamarbaa/LinkedIn-clone-app-react-typescript |
173 |
| -``` |
174 |
| - |
175 |
| -Go to the project directory |
176 |
| - |
177 |
| -```bash |
178 |
| - cd LinkedIn-clone-app-react-typescript |
179 |
| -``` |
180 |
| - |
181 |
| -Install dependencies |
182 |
| - |
183 |
| -```bash |
184 |
| - npm install |
| 16 | +```js |
| 17 | +export default tseslint.config({ |
| 18 | + languageOptions: { |
| 19 | + // other options... |
| 20 | + parserOptions: { |
| 21 | + project: ['./tsconfig.node.json', './tsconfig.app.json'], |
| 22 | + tsconfigRootDir: import.meta.dirname, |
| 23 | + }, |
| 24 | + }, |
| 25 | +}) |
185 | 26 | ```
|
186 | 27 |
|
187 |
| -Start the server |
188 |
| - |
189 |
| -```bash |
190 |
| - npm start |
191 |
| - |
192 |
| - |
| 28 | +- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` |
| 29 | +- Optionally add `...tseslint.configs.stylisticTypeChecked` |
| 30 | +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: |
| 31 | + |
| 32 | +```js |
| 33 | +// eslint.config.js |
| 34 | +import react from 'eslint-plugin-react' |
| 35 | + |
| 36 | +export default tseslint.config({ |
| 37 | + // Set the react version |
| 38 | + settings: { react: { version: '18.3' } }, |
| 39 | + plugins: { |
| 40 | + // Add the react plugin |
| 41 | + react, |
| 42 | + }, |
| 43 | + rules: { |
| 44 | + // other rules... |
| 45 | + // Enable its recommended rules |
| 46 | + ...react.configs.recommended.rules, |
| 47 | + ...react.configs['jsx-runtime'].rules, |
| 48 | + }, |
| 49 | +}) |
193 | 50 | ```
|
194 |
| - |
195 |
| -# Environment |
196 |
| - |
197 |
| -- To run this project, you will need to create a new project on firebase, setup Firebase Realtime Database and add the following environment variables to your .env file |
198 |
| - |
199 |
| -- REACT_APP_FIREBASE_API_KEY |
200 |
| -- REACT_APP_AUTH_DOMAIN |
201 |
| -- REACT_APP_STORAGE_BUCKET |
202 |
| -- REACT_APP_PROJECT_ID |
203 |
| -- REACT_APP_MESSAIN_SENDER_ID |
204 |
| -- REACT_APP_APPID |
205 |
| - |
206 |
| -# Status |
207 |
| - |
208 |
| -Project is now complete in React js so my next step I would love to convert to React + TypeScript + Next.js |
209 |
| - |
210 |
| -# Inspiration |
211 |
| - |
212 |
| -Build By Saddam Arbaa Project inspired by [linkedIn] https://www.linkedin.com/ |
213 |
| - |
214 |
| -# Deployment |
215 |
| - |
216 |
| -To deploy this project on firebase Flow the firebase documentation <a href="https://firebase.google.com/docs">Firebase Documentation</a> |
217 |
| - |
218 |
| -- create a new project on firebase |
219 |
| -- npm install -g firebase-tools |
220 |
| -- firebase init |
221 |
| -- npm run build |
222 |
| -- firebase deploy |
223 |
| - |
224 |
| -# Screenshots |
225 |
| - |
226 |
| -## Responsive on large screens - Home Page |
227 |
| - |
228 |
| - |
229 |
| - |
230 |
| -## Responsive on mobile and tablet screens |
231 |
| - |
232 |
| - |
233 |
| - |
234 |
| -## Loading screen |
235 |
| - |
236 |
| - |
237 |
| - |
238 |
| -## Sign in page |
239 |
| - |
240 |
| - |
241 |
| - |
242 |
| - |
243 |
| - |
244 |
| -## LogIn Page |
245 |
| - |
246 |
| - |
247 |
| - |
248 |
| - |
249 |
| - |
250 |
| -## Welcoming Page |
251 |
| - |
252 |
| - |
0 commit comments