Skip to content

Flutter application to share location with a group. (under development)

Notifications You must be signed in to change notification settings

manishya1669/beacon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beacon

About the Project

This project is a flutter build native interface to ease the group travelling (or hiking). By using this, the group leader would be able to share his location with the entire crew, and in case if someone loses contact with the group, he can quickly get in the right place by following the beacon.

Getting Started

For setting up the development environment, follow the steps given below.

  • Clone this repository after forking using git clone https://github.com/<username>/beacon.git
  • cd into beacon
  • Check for flutter setup and connected devices using flutter doctor
  • Get all the dependencies using flutter pub get
  • Create a .env file in the root folder, copy the content from .env.example and add respected key's value
  • Run the app using flutter run

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Project Structure

This project follows MVVM architecture with following structure:

beacon/lib/
├── components/                             # Shared Components such as dialog boxes, button, and other shared widgets
├── enums/                                  # enum files
|   └── view_state.dart                     # defines view states i.e Idle, Busy, Error
├── models/                                 # model classes: beacon, location, landmark, user  
├── queries/                                # includes all graphql query strings
├── services/                               # services
|   ├── database_mutation_function.dart/    # Graphql Queries implementations
|   ├── navigation_service.dart/            # All required navigation services
|   └── ...                                 # all config files
├── utilities/                              # Utilities that includes constants file
├── views/                                  # Views/UI layer
|  ├── auth_screen.dart                     
|  ├── base_view.dart
|  ├── hike_screen.dart
|  ├── home.dart
├── viewmodels/                             # Viewmodels layer
├── splash_screen.dart                      # Very first screen displayed whilst data is loading
├── router.dart                             # All routes to ease navigation
├── locator.dart                            # dependency injection using get_it
├── main.dart                               # <3 of the app

Screenshots

Contributing

Whether you have some feauture requests/ideas, code improvements, refactoring, performance improvements, help is always Welcome. The more is done, better it gets.

If you found any bugs, consider opening an issue.

To know the details about features implemented till Google Summer of Code'21 and future todo's please visit this blog

Community

We would love to hear from you! You may join gsoc-beacon channel of CCExtractor community through slack:

Slack

About

Flutter application to share location with a group. (under development)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 98.3%
  • HTML 1.1%
  • Other 0.6%