Giter Site home page Giter Site logo

prathamsoni11 / beacon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ccextractor/beacon

0.0 0.0 0.0 2.28 MB

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

Ruby 0.56% Objective-C 0.02% Kotlin 0.05% Dart 98.55% Swift 0.19% HTML 0.62%

beacon's Introduction

Beacon

Flutter CI

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

You can test Beacon in your own development environment. This section shows you how:

Prerequisites

You'll need to set up the IDE and mobile device emulator, or any mobile testing device on your local system.

Flutter Environment: You'll need to have the following installed:

  1. Flutter SDK
  2. Android Studio

Ensure you are testing the app using Flutter version 3.0.1 and above.

For checking flutter version:

  • Run flutter --version in terminal

If your version is not upto date, follow these steps to upgrade:

  • flutter channel stable to switch to the channel having stable version of flutter updates
  • flutter upgrade to get the latest flutter version

Development Environment: 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: group, 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
|  ├── group_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

beacon's People

Contributors

nb9960 avatar itsadityaksingh avatar aadeesh11 avatar tanisha083 avatar devansh12b2 avatar literaleval avatar omegaviv avatar cfsmp3 avatar techno-disaster avatar adarsh-technocrat avatar devmrfitz avatar harshitgulgulia avatar codewithkushagra avatar pavel401 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.