Giter Club home page Giter Club logo

maptogether's Introduction

MapTogether

MapTogether is a FOSS application, meant as a cross-platform and more featureful version of StreetComplete. There is still many milestones before this is achieved, but the current implementation already has quest-generation and -solving, cross-platform support and social features like weekly leaderboards and a friend system.

This repo is structured as a monorepo, to make sure things like the maptogether_api and the server can be updated atomically.

The client takes care of all rendering and communication with the OpenStreetMap servers. The client does not contact the MapTogether servers unless specifically being opted into.

The server is the setup for the social features of the app. It's only contacted with opt-in, as the client otherwise handles all features.

The Api-Wrappers

osm_api and maptogether_api both contain Dart wrappers for the v0.6 OpenStreetMap api and the MapTogether api. They are functionally very similar, both being async apis and having an authentication presetup.

maptogether's People

Contributors

aau-phil avatar fjeldsoe1 avatar hartvigen avatar sebbadk avatar simon97 avatar thomasmg avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

simon97

maptogether's Issues

client: Use of Expanded outside of Flex-widgets (Columns etc.) causes errors

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY╞══════════════════════
The following assertion was thrown while applying parent data.:
Incorrect use of ParentDataWidget.

The ParentDataWidget Expanded(flex: 14) wants to apply ParentData of type FlexParentData to a
RenderObject, which has been set up to accept ParentData of incompatible type ParentData.
Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically,
Expanded widgets are placed directly inside Flex widgets.

The offending Expanded is currently placed inside a Semantics widget.
The ownership chain for the RenderObject that received the incompatible parent data was:
  SizedBox ← Expanded ← FutureBuilder<Leaderboard> ← LeaderBoardView ← Semantics ← Builder ←
RepaintBoundary-[GlobalKey#e4ea0] ← IgnorePointer ← AnimatedBuilder ← FadeTransition ← ⋯

Change wording in social screen

  • "Daily" in leaderboard should be "Monthly"
  • "Overview" should be "Leaderboards"
  • "Friends" should be "Followers" or something alike
  • "Daily" in the top could be "Monthly" or "Today"

Specify a complete ThemeData

Right now the ThemeData is really simple with everything set to green.
The ThemeData should specify things such as:

  • primaryColor
  • accentColor
  • appBarTheme
  • backgroundColor
  • bottomAppBarColor
  • buttonColor
  • dialogBackgroundColor
  • focusColor
  • highlightColor
  • indicatorColor

The ThemeData should be used throughout instead of hardcoding styles of widgets when they are used.

Remove tab bar for leaderboards

The tab bar to switch between daily, weekly and all time seems superflous since we probably won't have that many leaderboards.

Unable to login using IOS

When trying to log in using IOS the webView does not close. And the user are not logged in if close manually
IMG_63621CF89202-1

Use swipe animations in social menu

When switching between tbe 4 social menus on android, we currently just change the screem, but it would be nice to have a tab-bar style swipe animation instead.

Exception thrown then redirected after logging in

Exception:

E/flutter (15207): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: NoSuchMethodError: The method 'call' was called on null.
E/flutter (15207): Receiver: null
E/flutter (15207): Tried calling: call(Instance of 'StatelessElement')
E/flutter (15207): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
E/flutter (15207): #1      LoginWebView.build.<anonymous closure>.<anonymous closure> (package:client/screens/login_screen.dart:37:31)
E/flutter (15207): #2      _rootRunUnary (dart:async/zone.dart:1362:47)
E/flutter (15207): #3      _CustomZone.runUnary (dart:async/zone.dart:1265:19)
E/flutter (15207): #4      _FutureListener.handleValue (dart:async/future_impl.dart:152:18)
E/flutter (15207): #5      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:704:45)
E/flutter (15207): #6      Future._propagateToListeners (dart:async/future_impl.dart:733:32)
E/flutter (15207): #7      Future._completeWithValue (dart:async/future_impl.dart:539:5)
E/flutter (15207): #8      _completeOnAsyncReturn (dart:async-patch/async_patch.dart:254:13)
E/flutter (15207): #9      LoginHandler.authorize (package:client/login_handler.dart)

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.