Giter Club home page Giter Club logo

fe's Introduction

Try ๐Ÿ€

A Flutter application designed to assist in preparing for English speaking tests (TOEFL) using the OpenAI GPT API.

This repository focuses on the front-end implementation. For the Spring Boot server and AI prompt engineering, please refer to the back-end repository.

๐Ÿ“ Project Structure

lib/
โ”œโ”€โ”€ main.dart                      # The entry point of the application
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ repository/                # Handles data management and interaction with data sources
โ”‚   โ”‚   โ”œโ”€โ”€ task1_repository.dart    
โ”‚   โ”‚   โ”œโ”€โ”€ task2_repository.dart   
โ”‚   โ”‚   โ”œโ”€โ”€ task3_repository.dart    
โ”‚   โ”‚   โ”œโ”€โ”€ task4_repository.dart     
โ”‚   โ”‚   โ”œโ”€โ”€ news_repository.dart     
โ”‚   โ”‚   โ””โ”€โ”€ home_repository.dart    
โ”‚   โ”œโ”€โ”€ model/                     # Defines the data structures
โ”‚   โ”‚   โ”œโ”€โ”€ task1_model.dart      
โ”‚   โ”‚   โ”œโ”€โ”€ task2_model.dart         
โ”‚   โ”‚   โ”œโ”€โ”€ task3_model.dart       
โ”‚   โ”‚   โ”œโ”€โ”€ task4_model.dart         
โ”‚   โ”‚   โ”œโ”€โ”€ news_model.dart        
โ”‚   โ”‚   โ””โ”€โ”€ report_model.dart       
โ”‚   โ””โ”€โ”€ view/                      # Contains the UI components
โ”‚       โ”œโ”€โ”€ base_view.dart           
โ”‚       โ”œโ”€โ”€ auth/                  # Contains authentication views and view models
โ”‚       โ”‚   โ”œโ”€โ”€ login_view.dart           
โ”‚       โ”‚   โ””โ”€โ”€ login_view_model.dart 
โ”‚       โ”œโ”€โ”€ home/
โ”‚       โ”‚   โ”œโ”€โ”€ home_view.dart          
โ”‚       โ”‚   โ”œโ”€โ”€ home_view_model.dart    
โ”‚       โ”‚   โ”œโ”€โ”€ rotation_3d.dart        
โ”‚       โ”‚   โ””โ”€โ”€ learning_history_view.dart 
โ”‚       โ”œโ”€โ”€ test/
โ”‚       โ”‚   โ”œโ”€โ”€ common/            # Shared widgets for test and news
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ microphone_test_widget.dart    
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ reading_material_widget.dart  
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ loading_view.dart            
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ feedback_view.dart           
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ question_widget.dart       
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ listening_material_widget.dart 
โ”‚       โ”‚   โ”œโ”€โ”€ test_view.dart        
โ”‚       โ”‚   โ”œโ”€โ”€ task1/
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ task1_view.dart          
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ task1_view_model.dart 
โ”‚       โ”‚   โ”œโ”€โ”€ task2/
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ task2_view.dart        
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ task2_view_model.dart    
โ”‚       โ”‚   โ”œโ”€โ”€ task3/
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ task3_view.dart        
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ task3_view_model.dart   
โ”‚       โ”‚   โ”œโ”€โ”€ task4/
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ task4_view.dart         
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ task4_view_model.dart    
โ”‚       โ”œโ”€โ”€ news/
โ”‚       โ”‚   โ”œโ”€โ”€ news_view.dart            
โ”‚       โ”‚   โ”œโ”€โ”€ news_view_model.dart      
โ”‚       โ”‚   โ”œโ”€โ”€ drop_cap_text.dart      
โ”‚       โ”‚   โ”œโ”€โ”€ news_detail_view.dart     
โ”‚       โ”‚   โ””โ”€โ”€ news_learning_view.dart  

๐Ÿš€ Build and Run Instructions

Prerequisites

Installation and Execution

  1. Clone the repository:
git clone <repository-url>
cd try_app
  1. Install dependencies:
flutter pub get
  1. Set up the .env file:

Create a .env file in the project root with the following content:

BASE_URL=your_server_cloud_url
DEEPGRAM_API_KEY=your_deepgram_api_key

You can get your API key from Deepgram.

  1. Run the app:
flutter run

๐Ÿงช Running Tests

To execute the test suite, use the following command:

flutter test

๐Ÿ“Š Asset Information

๐Ÿ› ๏ธ Referenced Open Source Projects

Key Dependencies

  • provider: State management library to manage application state.
  • http: HTTP client for making API requests.
  • flutter_dotenv: Manage environment variables in a .env file.
  • dynamic_color: Provides dynamic theming capabilities.
  • intl: Supports internationalization and localization, particularly for date and number formatting.
  • fluid_bottom_nav_bar: Customizable bottom navigation bar.
  • diff_match_patch: Library for text diffing, useful for comparing text differences.
  • permission_handler: Handles permissions, such as microphone access.
  • sound_stream: Used for audio streaming, particularly for capturing microphone input for Deepgram STT.
  • web_socket_channel: Provides WebSocket support, used for real-time communication with Deepgram API.
  • rxdart: A reactive programming library for managing asynchronous data streams.
  • audioplayers: Used for audio playback within the app.

Development Dependencies

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

fe's People

Contributors

o-ii avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.