Skip to content

Commit

Permalink
Merge pull request #596 from Ojas-Arora/oj
Browse files Browse the repository at this point in the history
Comprehensive Documentation Update
  • Loading branch information
SUGAM-ARORA authored Jul 27, 2024
2 parents a89ef11 + 103108e commit 5fbe1fc
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 3 deletions.
4 changes: 3 additions & 1 deletion mkdocs/docs/advantages.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@
- **Skill Development**: Participate in events, workshops, and collaborative projects to enhance your skills.
- **Recognition**: Get recognized for your contributions and projects.

<!-- Add your GIF here -->
<img src="https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExd2MyeWFrZmdodWVjeTIwNjlsY240ZnpiMTUydWEzaTM5MHBsbHM4aiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/H1LpjGJQOLPqCMOSqq/giphy.webp" alt="Engaging GIF" style="width:100%; max-width:600px; display:block; margin:0 auto;">

<p align="right"><a href="#top" style="font-size: 29px;">🔝</a></p>
<p align="right"><a href="#top" style="font-size: 29px;">🔝</a></p>
9 changes: 7 additions & 2 deletions mkdocs/docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@


### Contributors <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Smilies/Red%20Heart.png" alt="Red Heart" width="30" height="30" />
<p align="center">
<img src="https://media.giphy.com/media/xT5LMHxhOfscxPfIfm/giphy.gif" width="600" height="300">
</p>
<div align =center><h3>🎉 Kudos to You Wonderful and Dedicated Contributors! 🌟</h3> <br>
<a href="https://github.com/SUGAM-ARORA/UniCollab/graphs/contributors">
<img src="https://contrib.rocks/image?repo=SUGAM-ARORA/UniCollab" />
Expand All @@ -52,11 +55,13 @@ You can connect with me on various platforms:<br>
[![LinkedIn](https://img.shields.io/badge/LinkedIn-%230077B5.svg?logo=linkedin&logoColor=white)](https://linkedin.com/in/sugam-arora-117265142) [![Instagram](https://img.shields.io/badge/Instagram-%23E4405F.svg?logo=Instagram&logoColor=white)](https://instagram.com/sugam.arora.393?utm_source=qr&igshid=MzNlNGNkZWQ4Mg%3D%3D) [![Twitter](https://img.shields.io/badge/Twitter-%231DA1F2.svg?logo=Twitter&logoColor=white)](https://twitter.com/SugamArora14) [![Facebook](https://img.shields.io/badge/Facebook-%231877F2.svg?logo=Facebook&logoColor=white)](https://facebook.com/sugam.arora.393)[![YouTube](https://img.shields.io/badge/YouTube-%23FF0000.svg?logo=YouTube&logoColor=white)](https://youtube.com/@sugamarora5997)
[![Gmail](https://img.shields.io/badge/Gmail-%23FFFFFF.svg?logo=gmail&logoColor=red)](mailto:[email protected])

### 🌟 Join Us
## 🌟 Join Us

Ready to embark on a journey of collaborative learning? Join UniCollab now and be a part of a community that believes in the power of collaboration!
Thank you for contributing to our open-source project! We appreciate your support 🚀
Don't forget to leave a star ⭐
Thank you for contributing to our open-source project! We appreciate your support and look forward to your valuable contributions.
![image](https://github.com/user-attachments/assets/a6c43df5-3552-48dc-8d65-1e4711bc6376)
<p align="right"><a href="#top" style="font-size: 29px;">🔝</a></p>
Binary file added mkdocs/docs/images/UniCollab-Bottom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added mkdocs/docs/images/UniCollab-Top.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions mkdocs/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,44 @@
## Deployment
- Follow the deployment instructions for your chosen platform (AWS, Firebase, etc.).

## Firebase Setup Steps

- Create Firebase Project: Go to Firebase Console and create a new project.
- Add Firebase App: Click on "Add App" and select "Web" to register your app.
- Install Firebase Admin SDK: Use npm install firebase-admin to install the SDK in your Node.js project.
- Download Service Account Key: Navigate to "Project Settings" > "Service Accounts" in Firebase Console and generate a new private key.
- Initialize Firebase Admin: Import the SDK and initialize it using your service account key:
```sh
const admin = require('firebase-admin');
const serviceAccount = require('./path/to/serviceAccountKey.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://your-project-id.firebaseio.com"
});
```

- Enable Authentication Providers: In Firebase Console, go to "Authentication" > "Sign-in Method" and enable Google, Facebook, LinkedIn, Twitter, GitHub, and Microsoft.
- Configure OAuth Credentials: Obtain OAuth client IDs and secrets from each provider's developer portal and configure them in the Firebase Console.
- Set Up Firebase Cloud Functions: Deploy serverless functions via the Firebase CLI by running firebase init functions.
- Install Firebase Functions SDK: Inside the functions directory, run npm install firebase-functions.
- Secure Endpoints with Middleware: Implement Express.js middleware to verify Firebase ID tokens for protected routes:
```sh
async function authenticateToken(req, res, next) {
const idToken = req.header('Authorization').split('Bearer ')[1];
try {
const decodedToken = await admin.auth().verifyIdToken(idToken);
req.user = decodedToken;
next();
} catch (error) {
res.status(401).send('Unauthorized');
}
}
app.use(authenticateToken);
```
- Test Authentication Flow: Ensure each provider's authentication flow works as expected by testing sign-in and token verification.

<p align="right"><a href="#top" style="font-size: 29px;">🔝</a></p>
18 changes: 18 additions & 0 deletions mkdocs/docs/technologystack.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,31 @@
<a href="https://developer.mozilla.org/en-US/docs/Web/CSS">
<img src="https://img.shields.io/badge/CSS3-1572B6.svg?style=for-the-badge&logo=CSS3&logoColor=black">
</a>
<a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started">
<img src="https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB">
</a>
</p>

### Backend
- **Node.js with Express.js** for the server 💻
- **MongoDB** for the database (using Mongoose for object modeling) 📊
- **Firebase Authentication** for user authentication and authorization 🔐
- **Firebase Cloud Functions** for serverless backend logic ☁️
- **Firebase Installation and Setup**
- Install Firebase Admin SDK: Run npm install firebase-admin to add the SDK to your project.
- Download Service Account Key: Get the service account key JSON from Firebase Console.
- Initialize Firebase Admin: Use admin.initializeApp() with your service account key.
- Enable Authentication Providers: In Firebase Console, activate Google, Facebook, LinkedIn, Twitter, GitHub, and Microsoft.
- Set OAuth Credentials: Obtain client IDs and secrets from each provider's developer portal.
- Verify ID Tokens: Implement Firebase middleware to verify tokens and secure your API.

- **Firebase Authentication Integration for user login and registration:**
- Google Authentication for quick sign-in using Google accounts 🌐
- Facebook Authentication for users to log in with their Facebook credentials 📘
- LinkedIn Authentication for professional network-based access 🌐
- Twitter Authentication to allow sign-ins using Twitter accounts 🐦
- GitHub Authentication for developer-focused login using GitHub accounts 🐙
- Microsoft Authentication for enterprise-level login through Microsoft accounts 🖥️

### Frontend
- **React.js** for a dynamic and responsive user interface ⚛️
Expand Down

0 comments on commit 5fbe1fc

Please sign in to comment.