https://github.com/dzenis-h/google-auth__server
https://github.com/dzenis-h/google-auth__server
axios concurrently cookie-session express mongodb mongoose nodemon oauth2 oauth2-server passport passport-google-oauth20
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dzenis-h/google-auth__server
- Owner: dzenis-h
- Created: 2021-04-25T16:57:34.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-30T02:54:12.000Z (about 3 years ago)
- Last Synced: 2025-03-12T00:45:09.635Z (over 1 year ago)
- Topics: axios, concurrently, cookie-session, express, mongodb, mongoose, nodemon, oauth2, oauth2-server, passport, passport-google-oauth20
- Language: JavaScript
- Homepage:
- Size: 1.23 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Google-Auth__server
๐ Secure Authentication with Google-Auth Server: Powering Access Beyond the Cloud
๐ Developed with the software and tools below.
---
## ๐ Table of Contents
- [๐ Table of Contents](#-table-of-contents)
- [๐Overview](#-introdcution)
- [๐ฎ Features](#-features)
- [โ๏ธ Project Structure](#-project-structure)
- [๐งฉ Modules](#-modules)
- [๐๐จ Getting Started](#-getting-started)
- [๐ค Contributing](#-contributing)
- [๐ชช License](#-license)
- [๐ Acknowledgments](#-acknowledgments)
---
## ๐Overview
This Google-Auth__server GitHub project is a powerful tool designed to enable users to log into their Google account securely. Using the latest encryption technology, the project provides authentication and authorization services to users to ensure their data and accounts remain safe. Additionally, users can take advantage of the Youtube API integration which enables them to access and manage their Youtube accounts easily and securely. This project provides users with a secure and convenient way to manage their accounts, and is an invaluable tool for anyone who needs to access their Google account regularly.
---
## ๐ฎ Feautres
### Distinctive Features
1. **User-Centered Design:** The user-centered design elements and architecture of the Google-Auth__server GitHub project focuses on creating a secure, intuitive, and seamless user experience. Authentication is handled using a custom-built OAuth2 workflow, allowing for secure user authentication with Google. Client-side components are designed to provide users with a clean, minimalistic interface, and APIs are provided for easy integration with other services.
2. **Unique Features:** The Google-Auth__server GitHub project stands out from other projects due to its unique features. These include:
- A custom-built authentication workflow using OAuth2 to ensure secure user authentication with Google
- Client-side components designed to provide users with a clean, minimalistic interface
- APIs for easy integration with other services
- A configurable authentication server that is lightweight and can be easily deployed
- A set of models for user-related data that are stored in a MongoDB database
- A โChannel Listโ component that handles all channel-related logic, from adding new channels to handling authentication requests
- A โHeaderโ component that handles all navigation-related logic, from managing user sessions to handling authorization requests
- An โAppโ component that serves as the entry point to the application, providing access to the authentication server and the various components
- An โActionsโ and โReducersโ component that handles all user-related logic, from user authentication to data management.
---

## โ๏ธ Project Structure
```bash
repo
โโโ client
โย ย โโโ README.md
โย ย โโโ package-lock.json
โย ย โโโ package.json
โย ย โโโ public
โย ย โย ย โโโ favicon.ico
โย ย โย ย โโโ index.html
โย ย โย ย โโโ manifest.json
โย ย โโโ src
โย ย โโโ actions
โย ย โย ย โโโ index.js
โย ย โย ย โโโ types.js
โย ย โโโ components
โย ย โย ย โโโ App.js
โย ย โย ย โโโ ChannelList.js
โย ย โย ย โโโ Header.js
โย ย โย ย โโโ Landing.js
โย ย โโโ index.js
โย ย โโโ reducers
โย ย โย ย โโโ authReducer.js
โย ย โย ย โโโ channelsReducer.js
โย ย โย ย โโโ index.js
โย ย โโโ serviceWorker.js
โย ย โโโ setupProxy.js
โโโ config
โย ย โโโ keys.js
โย ย โโโ prod.js
โโโ index.js
โโโ models
โย ย โโโ User.js
โโโ package-lock.json
โโโ package.json
โโโ routes
โย ย โโโ authRoutes.js
โย ย โโโ youtubeRoutes.js
โโโ services
โโโ passport.js
11 directories, 27 files
```
---

## ๐ป Modules
Actions
| File | Module |
|:---------|:----------------------------|
| types.js | client/src/actions/types.js |
| index.js | client/src/actions/index.js |
Components
| File | Module |
|:---------------|:-------------------------------------|
| ChannelList.js | client/src/components/ChannelList.js |
| Landing.js | client/src/components/Landing.js |
| Header.js | client/src/components/Header.js |
| App.js | client/src/components/App.js |
Config
| File | Module |
|:--------|:---------------|
| keys.js | config/keys.js |
| prod.js | config/prod.js |
Models
| File | Module |
|:--------|:---------------|
| User.js | models/User.js |
Public
| File | Module |
|:------------|:--------------------------|
| favicon.ico | client/public/favicon.ico |
| index.html | client/public/index.html |
Reducers
| File | Module |
|:-------------------|:---------------------------------------|
| index.js | client/src/reducers/index.js |
| channelsReducer.js | client/src/reducers/channelsReducer.js |
| authReducer.js | client/src/reducers/authReducer.js |
Root
| File | Module |
|:---------|:---------|
| index.js | index.js |
Routes
| File | Module |
|:-----------------|-------------------------|
| authRoutes.js | routes/authRoutes.js |
| youtubeRoutes.js | routes/youtubeRoutes.js |
Services
| File | Module |
|:------------|:---------------------|
| passport.js | services/passport.js |
Src
| File | Module |
|:-----------------|:----------------------------|
| index.js | client/src/index.js |
| serviceWorker.js | client/src/serviceWorker.js |
## ๐ Getting Started
### โ
Prerequisites
Before you begin, ensure that you have the following prerequisites installed:
> `Make sure you have the latest NodeJS runtime installed`
> `You'll need to have NPM installed (it comes with NodeJS)`
### ๐ป Installation
1. Clone the Google-Auth__server repository:
```sh
git clone https://github.com/dzenis-h/Google-Auth__server
```
2. Change to the project directory:
```sh
cd Google-Auth__server
```
3. Install the `server-side` dependencies:
```sh
npm install
```
4. Install the `client-side` dependencies:
```sh
cd client && npm install
```
### ๐ค Using Google-Auth__server
##### This will start the client and the server at the same time โ
```sh
npm run dev
```
## ๐ Future Development
- [X] [๐ CREATE-A-README-FILE]
- [ ] [๐ ADD-SUMMARY-SECTION]
- [ ] [๐ UPDATE-DEPENDENCIES]
---
## ๐ค Contributing
Contributions are always welcome! Please follow these steps:
1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
3. Create a new branch with a descriptive name (e.g., `new-feature-branch` or `bugfix-issue-123`).
```sh
git checkout -b new-feature-branch
```
4. Make changes to the project's codebase.
5. Commit your changes to your local branch with a clear commit message that explains the changes you've made.
```sh
git commit -m 'Implemented new feature.'
```
6. Push your changes to your forked repository on GitHub using the following command
```sh
git push origin new-feature-branch
```
7. Create a pull request to the original repository.
Open a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary.
The project maintainers will review your changes and provide feedback or merge them into the main branch.
---
## ๐ชช License
This project is licensed under the `MIT` license. See the [LICENSE](https://docs.google.com/document/d/11WK7tVoTFRMcWCuGZQCRWxEsDUEJ_6ArtfV-NjWcBCU/edit?usp=sharing) file for additional info.
---
## ๐ Acknowledgments
This was created by [Dzenis H.](https://www.dzenis.tech)
If you like what you see, please consider giving a โญ๏ธ
---