Skip to content

Commit bcbdf15

Browse files
authored
Update README.md
1 parent 4f74b37 commit bcbdf15

File tree

1 file changed

+43
-3
lines changed

1 file changed

+43
-3
lines changed

README.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<p align="center">Welcome to Gptmap, a startup project crafted using Kotlin and Jetpack Compose.</p>
33
<p align="center" text-align="center">This project will guide you through creating a comprehensive Android application using a modern toolkit, highlighting the integration of AI technologies and illustrating the real-world applications of these advanced technologies, providing valuable insights and best practices.</p>
44

5-
![feature_3](https://github.com/f-arslan/GptMap/assets/66749900/f648ad24-ffef-46b6-ac39-c3d7584694ab)
5+
![Feature](public/images/feature.png)
66

77
## Download
88
Go to the [Releases](https://github.com/f-arslan/GptMap/releases) to download the latest APK.
@@ -41,7 +41,7 @@ Go to the [Releases](https://github.com/f-arslan/GptMap/releases) to download th
4141
- **Core Android Features**:
4242
- Utilizes Services, Broadcast Receivers, and Intents for robust background processing and inter-component communication.
4343
- **Project Organization**:
44-
- Implements a Multi Module Structure with a version catalogue, promoting modular development and easier dependency management.
44+
- Implements a multi-module structure with a version catalogue, promoting modular development and easier dependency management.
4545
- **Networking**:
4646
- **[Retrofit](https://github.com/square/retrofit)**: Simplifies REST API communication, enhancing data exchange and integration.
4747
- **[Docker](https://www.docker.com/)**: Utilizes container technology for consistent development, testing, and deployment environments.
@@ -53,8 +53,48 @@ Go to the [Releases](https://github.com/f-arslan/GptMap/releases) to download th
5353
- **Detekt**: Monitors code quality and maintainability, enforcing best practices and coding standards.
5454

5555
### Architecture Overview
56-
![GptmapArchıtecture](https://github.com/f-arslan/GptMap/assets/66749900/22b127cc-a8e7-4937-89b1-86b4f05090e3)
56+
![GptmapArchıtecture](public/images/gptmapArc.jpg)
5757

5858
<p>This project is designed following the principles of Clean Architecture, utilizing a multi-modular approach. It includes several layers, including the UI Layer, Domain Layer, Data Layer, and the backend, to ensure a solid separation of concerns and enhance maintainability.
5959

6060
For the backend, Ktor for server-side logic, MongoDB for database management (Realm Sync and Auth for synchronization and authentication), Firebase for authentication, storage, and real-time database capabilities (Auth, Storage, Firestore), and GCP's Secret Manager for secure management of secrets and API keys.</p>
61+
## App Demos
62+
63+
https://github.com/f-arslan/GptMap/assets/66749900/37f69fa5-bd37-41da-8688-15c74ce8adaf
64+
65+
https://github.com/f-arslan/GptMap/assets/66749900/889fdcf8-8989-4d2d-8752-88cdbe6747cb
66+
67+
https://github.com/f-arslan/GptMap/assets/66749900/4f6530b3-db64-41e1-8796-6aa8d0934d40
68+
69+
https://github.com/f-arslan/GptMap/assets/66749900/a1b4fb84-edab-4af2-b191-d8638b8792b2
70+
71+
https://github.com/f-arslan/GptMap/assets/66749900/69f6ba07-ecf0-47de-931c-f8a2e7ee3b14
72+
73+
### Setup and Configuration Guide
74+
75+
Getting started with this project involves several key steps to ensure everything is set up correctly. Follow this guide to configure your development environment and integrate all necessary services:
76+
1. **Android Studio Iguana**: This project is optimized for Android Studio Iguana. While it might work on lower versions, Gradle plugin 8.2.2 is required for the best experience. If you're using an older version, consider updating to avoid compatibility issues.
77+
78+
2. **Setting up `local.properties`**: This file contains essential environment variables. You won't need an OpenAI key as it will be deprecated. Fill in the necessary API keys and URLs except for the OpenAI key:
79+
80+
```properties
81+
sdk.dir=<path_to_your_android_sdk>
82+
MAPS_API_KEY=<your_google_maps_api_key>
83+
OPENAI_API_KEY= (will be deprecated, no need to fill this)
84+
PALM_API_KEY=<your_gemini_api_key>
85+
UNSPLASH_BASE_URL=<unsplash_api_base_url>
86+
```
87+
88+
Ensure you replace placeholder text with actual values relevant to your development environment.
89+
90+
3. **Remove Keystore Related Configurations**: For development purposes, remove or comment out any keystore configurations in your Gradle build files. This simplifies the build process for initial setup and testing.
91+
92+
4. **Setup Docker and GCP Secret Manager**: Docker is used for containerization, ensuring a consistent environment for development and deployment. GCP Secret Manager stores and manages access to your application's secrets. Skipping this step means you won't be able to use AI features on images, though you can still proceed with other functionalities. For Docker, install Docker and follow the setup instructions for your OS. For GCP Secret Manager, set up a GCP account, create a new project, and follow the instructions to store your secrets.
93+
94+
5. **Firebase Setup**: To integrate Firebase, create a new project in the Firebase console, register your app, and download the `google-services.json` file. Place this file in your app's `app` directory. This step is crucial for utilizing Firebase Auth, Firestore, and Storage.
95+
96+
6. **MongoDB Atlas Setup**: Sign up or log in to MongoDB Atlas, create a new cluster, and connect your application using the provided connection string. Ensure you've configured the network access and database user for your cluster.
97+
98+
7. **GCP Account Requirement**: A Google Cloud Platform (GCP) account is necessary for utilizing Google Maps API and GCP Secret Manager. If you don't already have an account, sign up at [GCP's website](https://cloud.google.com/) and set up billing to access these services.
99+
100+

0 commit comments

Comments
 (0)