Skip to content

Commit 4f23608

Browse files
Update environment configuration and remove flutter_dotenv
- Added .env.example file with Gemini API configuration - Updated pubspec.yaml to include .env file in assets - Removed flutter_dotenv package usage - Refactored GeminiApiService to use String.fromEnvironment for configuration - Simplified main.dart initialization
1 parent 9fa20c4 commit 4f23608

File tree

5 files changed

+13
-6
lines changed

5 files changed

+13
-6
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
GEMINI_API_KEY=your_api_key_here
2+
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta

devtools_options.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
description: This file stores settings for Dart & Flutter DevTools.
2+
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
3+
extensions:

lib/features/text_completion/data/services/gemini_api_service.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import 'dart:convert';
2-
import 'package:flutter_dotenv/flutter_dotenv.dart';
32
import 'package:http/http.dart' as http;
43

54
class GeminiApiService {
6-
final String _baseUrl = dotenv.env['GEMINI_BASE_URL'] ?? '';
7-
final String _apiKey = dotenv.env['GEMINI_API_KEY'] ?? '';
5+
// Move these to a secure config or environment service
6+
static const String _baseUrl = String.fromEnvironment(
7+
'GEMINI_BASE_URL',
8+
defaultValue: 'https://generativelanguage.googleapis.com/v1beta',
9+
);
10+
static const String _apiKey = String.fromEnvironment('GEMINI_API_KEY');
811

912
Future<Map<String, dynamic>> generateContent(String prompt) async {
1013
try {

lib/main.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@ import 'package:flutter_chatgpt_text_and_image_processing/features/app/splash/sp
99
import 'package:flutter_chatgpt_text_and_image_processing/features/image_generation/presentation/cubit/image_generation_cubit.dart';
1010
import 'package:flutter_chatgpt_text_and_image_processing/features/text_completion/presentation/cubit/text_completion_cubit.dart';
1111
import 'injection_container.dart' as di;
12-
import 'package:flutter_dotenv/flutter_dotenv.dart';
1312

1413
Future<void> main() async {
1514
WidgetsFlutterBinding.ensureInitialized();
16-
HttpOverrides.global = new MyHttpOverrides();
15+
HttpOverrides.global = MyHttpOverrides();
1716
await di.init();
18-
await dotenv.load(fileName: ".env");
1917
runApp(MyApp());
2018
}
2119

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ flutter:
7070

7171
# To add assets to your application, add an assets section, like this:
7272
assets:
73+
- .env
7374
- assets/app_logo.png
7475
- assets/loading.gif
7576
- assets/openai-avatar.png

0 commit comments

Comments
 (0)