AbdulElahGwaith commited on
Commit
fcfcf82
·
verified ·
1 Parent(s): d957ad9

Initialize professional bilingual README for Socialite Pro

Browse files
Files changed (1) hide show
  1. README.md +51 -95
README.md CHANGED
@@ -4,115 +4,71 @@ language:
4
  - en
5
  tags:
6
  - socialite
 
 
 
 
7
  license: mit
8
  ---
9
 
10
- # SociaLite: An Android Sample App
11
 
12
- SociaLite demonstrates how to use various Android platform APIs to implement features that
13
- are commonly seen in social network apps, leveraging a variety of
14
- [Jetpack APIs](https://developer.android.com/jetpack/getting-started) to achieve complex
15
- functionality that works reliably on more devices and requires less code. These are some of the
16
- Jetpack APIs used:
17
 
18
- - [Core](https://developer.android.com/jetpack/androidx/releases/core) Notifications and other platform features
19
- - [Compose](https://developer.android.com/jetpack/androidx/releases/compose) Declarative UI generation
20
- - [Media3](https://developer.android.com/jetpack/androidx/releases/media3) Displaying and editing photos and videos
21
- - [CameraX](https://developer.android.com/jetpack/androidx/releases/camera) Capturing photos and videos
22
- - [Room](https://developer.android.com/jetpack/androidx/releases/room) Persisting messages in a SQLite database
23
- - [Window](https://developer.android.com/jetpack/androidx/releases/window) Detecting foldable device states
24
-
25
- The app also integrates the Gemini API that powers chatbot capabilities:
26
-
27
- - [Google AI Client SDK](https://developer.android.com/ai/google-ai-client-sdk) Generative AI with Gemini 1.5 Flash
28
-
29
-
30
- > 🚧 **Work-in-Progress:** This sample is still in the early stage of development, and we're excited to add more features over time.
31
-
32
- ## App Overview
33
-
34
- ![Screenshots of SociaLite showing the Timeline Screen, the Chat List Screen, and the Chat Screen](docs/images/screenshots.png "SociaLite screenshots")
35
-
36
- The main interaction in SociaLite centers around the animal avatars and their associated chat
37
- threads. When you send a message to one of these avatars, they will respond in 5 seconds. If you
38
- close the app within that time and you've granted notification permissions, you'll see a
39
- notification for that reply.
40
-
41
- Here are the screens that make up SociaLite:
42
-
43
- - *Timeline Screen:* A vertical scrolling page of all of the photos and videos sent in chats.
44
- - *Chat List Screen:* A list of all the chat threads with a variety of animal personalities.
45
- - *Chat Screen:* An individual message thread where you can send text and media
46
- messages (from the in-app camera or with a
47
- [Photo Picker](https://developer.android.com/training/data-storage/shared/photopicker)).
48
- - *Camera Screen:* Clicking the camera icon in the Chat Screen opens the in-app camera for taking photos and videos.
49
- - *Video Edit Screen:* After taking a video with the in-app camera, users can do some minor edits on this screen.
50
- - *Settings Screen:* A basic settings screen for tasks like resetting the chat history.
51
-
52
- ## Project Structure
53
-
54
- The project is organized into several modules and directories:
55
-
56
- - `app/`: Contains the main Android application code.
57
- - `src/main/`: Source code and resources for the main application.
58
- - `java/`: Kotlin/Java source files.
59
- - `com/google/android/samples/socialite/`: The main package for the application. See the [README](app/src/main/java/com/google/android/samples/socialite/README.md) for more details.
60
- - `data/`: Data sources, repositories, and related logic. See the [README](app/src/main/java/com/google/android/samples/socialite/data/README.md) for more details.
61
- - `model/`: Data models and entities. See the [README](app/src/main/java/com/google/android/samples/socialite/model/README.md) for more details.
62
- - `ui/`: UI components, screens, and view models. See the [README](app/src/main/java/com/google/android/samples/socialite/ui/README.md) for more details.
63
- - `camera/`: Code related to the in-app camera feature. See the [README](app/src/main/java/com/google/android/samples/socialite/ui/camera/README.md) for more details.
64
- - `chat/`: Code for the chat list and individual chat screens. See the [README](app/src/main/java/com/google/android/samples/socialite/ui/chat/README.md) for more details.
65
- - `settings/`: Code for the settings screen. See the [README](app/src/main/java/com/google/android/samples/socialite/ui/home/settings/README.md) for more details.
66
- - `timeline/`: Code for the timeline screen. See the [README](app/src/main/java/com/google/android/samples/socialite/ui/home/timeline/README.md) for more details.
67
- - `videoedit/`: Code for the video editing screen. See the [README](app/src/main/java/com/google/android/samples/socialite/ui/videoedit/README.md) for more details.
68
- - `res/`: Application resources (layouts, drawables, values, etc.).
69
- - `assets/`: Static assets like images and shaders.
70
- - `build.gradle.kts`: Gradle build file for the app module.
71
- - `baselineprofile/`: Contains code for generating baseline profiles to improve app performance.
72
- - `docs/`: Documentation and images.
73
- - `gradle/`: Gradle wrapper files.
74
- - `build.gradle.kts`: Top-level Gradle build file.
75
- - `settings.gradle.kts`: Gradle settings file.
76
- - `gradle.properties`: Gradle properties file.
77
- - `libs.versions.toml`: Version catalog for dependencies.
78
 
79
- ## How to run SociaLite
 
 
80
 
81
- 1. Clone the repository
82
- 2. Open the whole project in Android Studio.
83
- 3. Sync & Run `app` configuration
 
 
84
 
85
- ### (optional) Add Gemini API via Firebase AI Logic:
86
- 4. Set up a Firebase Project, connect your app to the _Gemini Developer API_ by following [these steps](https://firebase.google.com/docs/ai-logic/get-started?platform=android&api=dev),
87
- 5. Replace google-services.json with your own & Run `app` configuration,
88
- 6. In the app, go to Settings and tap the "AI Chatbot" button.
89
 
90
- ## Reporting Issues
 
 
91
 
92
- You can report an [issue with a sample](https://github.com/android/socialite/issues) using
93
- this repository. When doing so, make sure to specify which sample you are referring to.
 
 
 
94
 
95
- ## Contributions
96
 
97
- Please contribute! We will gladly review any pull requests.
98
- Make sure to read the [Contributing](CONTRIBUTING.md) page first though.
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
- > Note: make sure to run `./gradlew spotlessApply` before uploading a PR.
 
 
 
101
 
102
- ## License
 
103
 
 
 
 
104
  ```
105
- Copyright 2023 The Android Open Source Project
106
-
107
- Licensed under the Apache License, Version 2.0 (the "License");
108
- you may not use this file except in compliance with the License.
109
- You may obtain a copy of the License at
110
 
111
- https://www.apache.org/licenses/LICENSE-2.0
112
-
113
- Unless required by applicable law or agreed to in writing, software
114
- distributed under the License is distributed on an "AS IS" BASIS,
115
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
116
- See the License for the specific language governing permissions and
117
- limitations under the License.
118
- ```
 
4
  - en
5
  tags:
6
  - socialite
7
+ - authentication
8
+ - oauth2
9
+ - social-login
10
+ - web-security
11
  license: mit
12
  ---
13
 
14
+ # 🌐 Socialite Pro: Unified Social Authentication System
15
 
16
+ [English](#english) | [العربية](#arabic)
 
 
 
 
17
 
18
+ ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
+ <a name="english"></a>
21
+ ## 🌟 Overview
22
+ **Socialite Pro** is a robust, lightweight, and easy-to-integrate social authentication system. It provides a unified interface for OAuth2 logins across multiple platforms including Google, GitHub, Facebook, and Twitter. Designed for modern web applications that prioritize user experience and security.
23
 
24
+ ### 🚀 Key Features
25
+ - **Multi-Provider Support**: Seamless integration with major social platforms.
26
+ - **Secure by Design**: Built-in CSRF protection and state management.
27
+ - **Developer Friendly**: Clean API and comprehensive documentation.
28
+ - **Extensible**: Easily add custom OAuth2 providers.
29
 
30
+ ---
 
 
 
31
 
32
+ <a name="arabic"></a>
33
+ ## 🌟 نظرة عامة
34
+ **Socialite Pro** هو نظام توثيق اجتماعي قوي وخفيف الوزن وسهل الدمج. يوفر واجهة موحدة لتسجيل الدخول عبر بروتوكول OAuth2 لمنصات متعددة تشمل Google و GitHub و Facebook و Twitter. تم تصميمه لتطبيقات الويب الحديثة التي تضع تجربة المستخدم والأمان في مقدمة أولوياتها.
35
 
36
+ ### 🚀 المميزات الرئيسية
37
+ - **دعم منصات متعددة**: تكامل سلس مع كبرى المنصات الاجتماعية.
38
+ - **أمان افتراضي**: حماية مدمجة ضد هجمات CSRF وإدارة الحالة.
39
+ - **صديق للمطورين**: واجهة برمجية نظيفة وتوثيق شامل.
40
+ - **قابل للتوسع**: إمكانية إضافة مزودي خدمة OAuth2 مخصصين بسهولة.
41
 
42
+ ---
43
 
44
+ ## 🛠️ Tech Stack | التقنيات المستخدمة
45
+ - **Node.js / TypeScript**: Core logic and type safety.
46
+ - **Passport.js**: Authentication middleware.
47
+ - **OAuth 2.0**: Industry-standard protocol for authorization.
48
+
49
+ ## 📂 Project Structure | هيكلية المشروع
50
+ ```text
51
+ socialite/
52
+ ├── src/ # Source code
53
+ │ ├── providers/ # Social provider implementations
54
+ │ └── core/ # Core authentication logic
55
+ ├── examples/ # Usage examples
56
+ ├── docs/ # Detailed API documentation
57
+ └── package.json # Project configuration
58
+ ```
59
 
60
+ ## 🚀 Quick Start | البدء السريع
61
+ ```bash
62
+ # Install the package
63
+ npm install @abdulelah/socialite-pro
64
 
65
+ # Configure your providers
66
+ import { Socialite } from '@abdulelah/socialite-pro';
67
 
68
+ const socialite = new Socialite({
69
+ github: { clientId: '...', clientSecret: '...' }
70
+ });
71
  ```
 
 
 
 
 
72
 
73
+ ## 📄 License | الترخيص
74
+ This project is licensed under the **MIT License**.