|
| 1 | +# 𝙻𝚎𝚎𝚝𝙲𝚘𝚍𝚎 𝙿𝚛𝚘𝚏𝚒𝚕𝚎𝚜 |
| 2 | + |
| 3 | +𝙰 𝚙𝚕𝚊𝚝𝚏𝚘𝚛𝚖 𝚝𝚘 𝚌𝚛𝚎𝚊𝚝𝚎 𝚢𝚘𝚞𝚛 𝙻𝚎𝚎𝚝𝙲𝚘𝚍𝚎 𝚜𝚝𝚊𝚝𝚒𝚜𝚝𝚒𝚌𝚜 𝚊𝚗𝚍 𝚜𝚑𝚘𝚠𝚌𝚊𝚜𝚎 𝚢𝚘𝚞𝚛 𝙻𝚎𝚎𝚝𝙲𝚘𝚍𝚎 𝚙𝚛𝚘𝚏𝚒𝚕𝚎 𝚐𝚕𝚘𝚋𝚊𝚕𝚕𝚢. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | +## Languages/Tools |
| 11 | + |
| 12 | +<a href=""> |
| 13 | + <img src="https://skillicons.dev/icons?i=tailwindcss,js,react,firebase,vercel" /> |
| 14 | + </a> |
| 15 | + |
| 16 | +## 👩🏽💻 Demo |
| 17 | +Check out the website: [𝙻𝚎𝚎𝚝𝙲𝚘𝚍𝚎 𝙿𝚛𝚘𝚏𝚒𝚕𝚎𝚜](https://leetcode-profiles.vercel.app/) |
| 18 | + |
| 19 | + |
| 20 | +## 🛠️ Installation Steps |
| 21 | + |
| 22 | +### 1. Fork the project: |
| 23 | +- [Fork](https://github.com/druvkotwani/Leetcode-Profiles) the project. Click on the <a href="https://github.com/druvkotwani/Leetcode-Profiles/fork"><img src="https://i.imgur.com/G4z1kEe.png" height="15" width="15"></a> icon in the top right to get started. |
| 24 | + |
| 25 | +### 2. Create a New Branch: |
| 26 | +- On your new repository's page, click the gray `main` button in the upper left to reveal a dropdown menu. |
| 27 | +- Enter the name of your new branch in the text box. (Branch names usually make a reference to what is being changed. Example: `FixMargin`). |
| 28 | +- Click on `Create branch <new branch name>` and this will automatically take you to your new branch. You can make edits on the main branch, but this may cause issues down the line. Best practice is to create a new branch for each separate issue you work on. That way, your `main` branch remains in sync with `leetcode-profiles` `main` branch. |
| 29 | + |
| 30 | +### 3. Setup Firebase: |
| 31 | +- Below are the steps to setup firebase. |
| 32 | + |
| 33 | +### 4. Edit: |
| 34 | +- Do the desired changes, you want. |
| 35 | + |
| 36 | +### 5. Raise a Pull Request: |
| 37 | +- And finally, create a [Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)! |
| 38 | +- Great job! |
| 39 | + |
| 40 | + |
| 41 | +## Setting up Firebase |
| 42 | + |
| 43 | +1. **Firebase Account Setup:** |
| 44 | + - Sign up for a free Firebase account at [Firebase Console](https://console.firebase.google.com/). |
| 45 | + |
| 46 | +2. **Create a Firebase Project:** |
| 47 | + - Create a new Firebase project via the Firebase Console. |
| 48 | + |
| 49 | +3. **Add Firebase to your web app:** |
| 50 | + - Set up the firebase for your webapp and then Add Firebase SDK. |
| 51 | + |
| 52 | +4. **Create Database(firestore Database)** |
| 53 | + |
| 54 | +5. **Create a collection with the file format below:** |
| 55 | + |
| 56 | + |
| 57 | + ### 👇🏽 File Format |
| 58 | +| Key | Value | |
| 59 | +|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| 60 | +| fullName | This value should be your real name. | |
| 61 | +| image | URL to your profile image. | |
| 62 | +| username | This value should be your Twitter username (𝕏). | |
| 63 | +| badgeImg | URL to your badge image or an empty string if not available. | |
| 64 | +| rank | Your rank on LeetCode. | |
| 65 | +| easySolved | Number of easy problems solved on LeetCode. | |
| 66 | +| easyTotal | Total number of easy problems on LeetCode. | |
| 67 | +| easyBeats | Number of easy problems beaten on LeetCode. | |
| 68 | +| mediumSolved | Number of medium problems solved on LeetCode. | |
| 69 | +| mediumTotal | Total number of medium problems on LeetCode. | |
| 70 | +| mediumBeats | Number of medium problems beaten on LeetCode.| |
| 71 | +| hardSolved | Number of hard problems solved on LeetCode.| |
| 72 | +| hardTotal | Total number of hard problems on LeetCode.| |
| 73 | +| hardBeats | Number of hard problems beaten on LeetCode.| |
| 74 | +| totalSolved | Total number of problems solved on LeetCode.| |
| 75 | +| totalQuestions | Total number of questions available on LeetCode.| |
| 76 | +| linkedin | {link: Link, text: text}| |
| 77 | +| twitter | {link: Link, text: text}| |
| 78 | +| github | {link: Link, text: text}| |
| 79 | +| website | {link: Link, text: text} | |
| 80 | + |
| 81 | +6. **Replace the firebaseConfig inside firebase.js with your actual apiKeys, and rest of the data** |
| 82 | +7. **Add now you are good to go** |
| 83 | + |
| 84 | +## 🚀 Running Frontend |
| 85 | +To run locally, just `cd` into the `client` and run the following commands to run node modules and serve the website locally. |
| 86 | +```bash |
| 87 | +npm i |
| 88 | +``` |
| 89 | + |
| 90 | +```bash |
| 91 | +npm run dev |
| 92 | +``` |
| 93 | + |
| 94 | +## 🚀 Running Backend(only necessary if you had made changes in the api) |
| 95 | +To run locally, just `cd` into the `server` and run the following commands to run node modules and serve the website locally. |
| 96 | +```bash |
| 97 | +npm i |
| 98 | +``` |
| 99 | + |
| 100 | +```bash |
| 101 | +node index.js |
| 102 | +``` |
| 103 | + |
| 104 | + |
| 105 | + |
| 106 | + |
| 107 | +<hr/> |
| 108 | + |
| 109 | +## Drop a ⭐ if you like this project |
0 commit comments