Comments (4)
Additionally, what does testing look like? Can we mock OSM users + their stats?
from scoreboard.
Some notes:
Why?
- Users need to see some private information such as what tasks they should work on next
- Users get more detailed insights into their mapping
- Logging in allows users to add personal data such as their affiliation to certain groups: country, team, company, etc. which enable different types of stats
How?
Backend
-
Create a user table that can hold user information
-
Where should information related to user tasks go? Should this be abstracted such that we can tie any piece of information to a user id in the backend?
⇒ We could have a user API that allows getting/setting user info from background services such as "tasks assigned to user"
-
-
For configurable user info such as "What country is the user from", we can have a configuration file that the scoreboard api can read that describes what user fields are
- This could potentially get very complex so we need to figure out the use cases
- Can an admin modify these fields at any time? If so these could be dynamically set as user "tags" in the database (similar to OSM tags). However the frontend needs to know what to render
- How do we aggregate stats based on arbitrary user fields?
-
Get ids and other profile information through OSM OAuth
-
How are sessions handled? Should the frontend be session-less?
Frontend
- Create a login / logout button
- Create a page for private "dashboard" of activity + tasks (what other information should this page contain?)
- Create a mechanism to update user information
- Change per country based statistics currently in scoreboard to read from the user database
from scoreboard.
This is mostly implemented. @sethvincent is finalizing the implementation and will close this ticket with his PR.
from scoreboard.
closed by #28
from scoreboard.
Related Issues (20)
- migrate to github actions CI ASAP HOT 2
- wait-for-db-ready_1 | Service osmesa:5432 did not start within 300 seconds. Aborting...
- Test efficiency HOT 2
- postgresql /docker-entrypoint-initdb.d/* not reliable when volume mounted by docker-compose
- Only highlight user name in maproulette task progress table if user exists in app HOT 1
- unit tests should not hit OSM / Maproulette APIs
- Remove "Validated" from MapRoulette challenge cards
- Enable all-page data download on campaigns page
- Fix priority value alignment for maproulette campaigns in assignments table
- Filter out maproulette tasks on homepage map
- Campaign page bug if not admin user [local development] HOT 2
- Menu bug if not admin user [local development] HOT 3
- Fix yarn seed on develop
- Make single project request in tm4.js use search params configured by admin
- build configs for paginated requests before passing them to limit func in tm4 getProjects
- use 'action=any' in tm4 request
- add serial command for clocks
- make concurrency of requests to external services configurable
- Check Box Filters on Teams Page Not Working
- Restrict timeseries to admins + move to admin dashboard HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scoreboard.