Giter Site home page Giter Site logo

mozilla-magnet / journey Goto Github PK

View Code? Open in Web Editor NEW
0.0 7.0 3.0 61.66 MB

Code name Journey

License: Mozilla Public License 2.0

JavaScript 18.40% Python 0.44% Java 0.46% Objective-C 75.22% Shell 5.15% Ruby 0.20% C 0.12%
geolocation geofencing react-native

journey's Introduction

Stories Done Build Status

Project Magnet

Code name Journey

Setup

  1. Install react-native on your machine: yarn global add react-native-cli
  2. Clone this project: git clone [email protected]:mozilla-magnet/journey.git && cd journey
  3. Install dependencies: yarn
  4. Start the development server: yarn start

Running

Android

With a virtual or real device running:

$ react-native run-android

Using Android Studio (OSX)

On OSX Android Studio must be launched from the command line in order to inherit $PATH so that a specific Gradle script inside Realm can run npm --version.

Attempting to build using Android Studio that has been launched via the normal OSX icon will fail to build. We've included a shortcut script to help.

$ npm run open-android-studio

iOS

$ react-native run-ios

Solving the headers problem

We have found some problems in the workspace after introducing cocoapods. If your project fails to compile because the react native components are not able to compile, probably you will need to add manually the Header search path.

In order to do so follow this instructions:

  • Go to the Libraries folder and for each dependant project
  • Click on the target <project_name> > Build Settings > find Header search path
  • For each project you need to enter a specific value (click once on the value):
    • For ReactNativeHeading: $(SRCROOT)/../../ios/Pods/Headers/Public/React/**
    • For RNShare: $(SRCROOT)/../../../ios/Pods/Headers/Public/React/**
    • For RealmReact: $(SRCROOT)/../../../../ios/Pods/Headers/Public/React/** $(SRCROOT)/../../../../node_modules/realm/src/** $(SRCROOT)/../../../../node_modules/realm/vendor/core-2.2.0/include/** $(SRCROOT)/../../../../node_modules/realm/vendor/**

How to contribute?

Install the pre-commit hook by running this command:

$ ln -s ./hooks/pre-commit.sh .git/hooks/pre-commit

This will ensure that no major issues on the JavaScript syntax will be committed.

Coding styles

The coding styles are defined in the ESLint configuration file. Make sure to run the following command to fix your code style before committing:

$ yarn run fix

Not what you're looking for?

If you're looking for a physical web beacon browsing app, go to magnet-client.

journey's People

Contributors

gmarty avatar wilsonpage avatar arcturus avatar samgiles avatar

Watchers

 avatar  avatar James Cloos avatar  avatar Maria Angeles Oteo Martínez avatar  avatar  avatar

journey's Issues

Generate PNG icons from SVG

We need a tool that generate PNG for all resolutions (1x, 1.5x, 2x, 3x and 4x) from SVG images. That will allow us to iterate faster on UI implementation.

I found rebar but it seems to be a big chunk of tools, so maybe we can just build our own script using Inkscape via the command line.

Also final PNG files must be optimised, ideally with ImageOptim. So it would be nice to add this as a step in the script.

Geo component

We need a unique source of location truth for the app linked to the redux store

Show content under status bar

Follow-up from #39

Currently the status-bar is dark grey and never shows any content underneath. When the content is scrolling it should scroll under the status bar to give a more 'full-screen' experience.

@gmarty is that correct or were you expecting the content should be under the status bar when scrollTop === 0?

Home: tap on an item close the header

On the Home scene, when the header is visible, 2 taps on an item are needed to open the POI scene:

  • the 1st tap dismiss the header
  • the 2nd tap actually open the POI view

@wilsonpage: is it a bug or an intended behaviour?

Carousel component

Investigate current react-native components or create a new one for having the carousel.

Add the 'Take me there' button to POI view

The take me there button should open up the devices default mapping/navigation application with directions on how to get from the user's current location to the POI's location.

Investigate if we could use OpenStreetMaps instead of Google maps

Legal team has told us that Google Maps uses closed/proprietary data and OpenStreetMaps is an open data alternative.
Mozilla has a general policy preference for using open data projects, so unless there is a compelling business reason why OSM will not work for our project, we should go with that.

Legal team asks if we can take a look at OSM and let them know our thoughts...

First testing round

It would be good if we can start testing what is implemented by sprint 11. Tests will happen at the end of the sprint to have enough time for development.

Home map view

The contents of the home view should viewable in list or map views. Currently we only have list view.

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.