20180505_awt-project's People
Forkers
uempfel20180505_awt-project's Issues
When creating annotations, localized names are not saved
What happens if a manager loads two different dataset that has a same data point in a single campaign?
Build statistics endpoints
/api/campaigns/{campaignId}/statistics showing statistics of a campaign
- Number of peaks in the started state (0 annotations)
- Number of peaks in the annotated state (1 or more annotations)
- Number of peaks with at least 1 or more rejected annotations
- Number of conflicts (see definition below)
List of annotated peaks. Selecting one peak in the annotate status, the page shows:
- The data of each annotation
- The creator of each annotation
List of annotated peaks with one or more rejected annotations. Selecting one such peak, the page shows:
- The data of each annotation
- The creator of each annotation
List of conflicts of the campaign. The conflicts are the annotations where the PeakValidity inserted by one worker disagrees with the value inserted by another worker.
- For each peak with a conflict, the page shows number of annotations with positive PeakValidity and number of annotations with negative PeakValidity
Create new Campaign
As a Manager,
I want to create a new campaign,
so that I can upload my peak data.
- Should get feedback if the operation was succesful
- Status of the campaign should be "Created"
- Details of the campaign's data should be shown if the upload was successful
- Should receive a notification if the upload failed
Hey
??
Add pageable endpoint for GET peaks
If the amount of peaks in the DB is large, the request takes very long to return.
Close campaign
As a Manager,
I want to close a campaign,
So that no more new annotations can be entered.
- Feedback if the operation was successful
- Feedback if the operation was not successful
- Page should be redisplayed in "Closed" state
Review GET campaigns endpoint for workers
Right now, a worker only gets the enrolled campaigns back.
How can he access all available campaigns?
Possible solution:
- query parameter ?enrolled=true for enrolled campaigns
- return all campaigns WHERE NOT enrolled AND STARTED as default
Build annotation endpoints
- GET /api/annotations Showing a list of annotations
- GET /api/annotations/{id} Showing a single annotation for a specific peak
- POST /api/annotations Creating a new annotation for a peak
- PATCH /api/annotations/{id} Manager accepts or rejects annotation
Can managers delete users?
User Sign In
As a user,
I want to sign in
so that I use the platform.
- Password should be hidden on the screen
- Give feedback if the username or the password is wrong
Add query parameter to GET Peaks to select to be annotated
We also should think about if a worker should be able to access the toBeAnnoated
See statistics of a campaign
As a Manager,
I want to have an overview over the statistics of a campaign,
So that I can control it's status and progress.
- Number of peaks in the started state (with 0 annotations)
- Number of peaks in the annotated state (with 1 or more annotations)
- Number of peaks with at least 1 or more rejected annotations
- Number of conflicts
- List of annotated peaks
Selecting one peak in the annotate status shows: - Data of each annotation
- Creator of each annotation
- List of annotated peaks with rejected annotations
Selecting one such peak shows: - Data of each annotation
- Creator of each annotation
- List of conflicts
For each peak with a conflict, the page shows: - number of annotations with positive PeakValidity
- number of annotations with negative PeakValidity
User Sign Up
As a User,
I want to Sign Up for the service,
So that I can use the paltform.
- Username should be unique
- Feedback if operation was succesful or not
- Enter password twice for confirmation
- Password should be hidden
- E-Mail address must be a valid address
- Radio button to select the role "Manager"
Worker Add Annotations
As a worker,
I want to add annotations
so that I can provide a correct information about peaks
- 2D or 3D page map with colored markers is shown on the page
- Selecting a peak in the map shows all the data about the peak and a form for editing peak data.
- Worker can check 'valid' or 'invalid' on the peak data
- If it's valid, the worker can specify an elevation, name and localized names
- Worker cannot edit other worker's annotations
- Worker can create only 1 annotation for a peak
- A peak marked as invalid by a worker can still be annotated by other workers
How to pass password: via URI query strings or in body
Selecting a peak in the 2d or
3d map shows all the data about the
peak and a form for editing peak data." means that the worker can edit the peak data or just annotations?
Load data NOT to annotate into campaign
As a Manager,
I want to upload data NOT to be annotated into a campaign,
So that I can provide additional information to the Workers.
- should get feedback if the upload was successful
- should get feedback if the upload failed
Assumption according to Requirements:
The manager has a data file in the correct format containing peaks (already validated or from a reliable source)
Should the status "not to be annotated" be editable after the upload?
Load data to annotate into campaign
As a manager,
I want to upload data to be annotated into a campaign,
So that Workers can annotate the peak data.
- should get feedback if the upload was successful
- should get feedback if the upload failed
Assumption according to Requirements:
The manager has a data file in the correct format containing peaks (already validated or from a reliable source)
Do we have to implement both 2D and 3D maps?
Worker Sign Up
As a worker,
I want to sign up
so that I can create annotations
- There is a field for confirming password again
- Username should be unique
- Password should be hidden on the screen
- E-mail address should be validated
- Radio button for choosing a role (Manager or Worker)
Check the "created" status before uploading data
Only in "created" status of the campaign, a manager can upload the peak data
Associate Annotation with user who created it
Add worker_id in annotation model
- @createdby could be helpful
**Automation**
Automatically move your cards to the right place based on the status and activity of your issues and pull requests.
-
Task 1
-
Task 2
Encrypt user passwords in the database
Fix query for PeakConflicts
The query for Peak conflicts does not return the right count of isValid and !isValid for each Peak. It just returns the count of conflicts for each Peak
Manager Sign In
As a Manager,
I want to sign in,
so that I can access and manage all the campaigns I created.
- Password should be hidden on the login screen
- Feedback in case of wrong credentials
Add Worker name to GET annotation/{annotationId} response
Display the name instead of the campaign
Show information when clicking on peak marker in the 2D Map
As a Manager,
I want to see all information about a peak, including annotations,
So that I can review the annotations.
Worker can add annotations only on the peaks to be annotated
Worker can add annotations only on the peaks to be annotated
Reject annotation
As a manager,
I want to be able to reject an annotation,
So that I have control over the annotations i regard as valid.
Ensure that a worker can only make one annotation for a peak
Set campaign status to "Started"
As a Manager,
I want to set the status of a campaign I created to "Started",
So that the Workers can see the campaign and enroll.
- Should provide feedback if operation was successful
- Should provide feedback if operation failed
Check if the worker enrolled in the campaign before creating annotations
Check if the worker enrolled in the campaign before creating annotations
Ensure that workers can only enroll in campaigns that are STARTED
Workers can only enroll in campaigns that are STARTED, not CREATED or CLOSED
A worker can make only one annotation for a peak
Can workers edit entered annotations and delete their own profile?
Build user endpoints
- GET /api/users/{id} Getting information for a single user and signing in
- POST /api/users Creating new users (Managers and Workers)
- PUT /api/users/{id} Updating user information
Change the state of "toBeAnnotated" on file level
Right now, the state of "toBeAnnotated" can only be changed for a single peak.
It should however be changed on file level and ONLY if no file with the opposite state has been uploaded for the same campaign
see #18
Build peak endpoints
- GET /api/peaks Showing list of peaks depending on the role
- GET /api/peaks/{id} Showing a single peak
- POST /api/peaks Uploading new peak data for a campaign
- PATCH /api/peaks/{id} Changing the "to be annotated" status (ATTENTION: only if the associated campaign is in CREATED status)
What's the difference between 'Altitude' of peak and 'Elevation' of annotation?
Build campaign endpoints
- GET /api/campaigns Showing a list of Campaigns depending on the role
- GET /api/campaigns/{id} Showing an individual Campaign
- POST /api/campaigns Creating new campaigns
- POST /api/campaigns/{id} Worker enrolls in a campaign
- PATCH /api/campaigns/{id} Setting the status of individual to 'Started' or 'Closed'
User Log Out
As a user,
I want to log out
so that I can ensure others do not use my account
- Logout button should be accessible in every view
- Logout page contains login button
Column accepted_by_manager always false per default
An annotation is initially always false. When we check the number of rejected annotations for the statistics endpoint, this leads to wrong results.
possible fix: use Boolean wrapper class and initialise with null
Show peak markers on a 2D Map
As a Manager,
I want to have a 2D Map with peak markers,
So I can have an overview over the map data that I uploaded for a campaign.
- Green marker for not to be annotated peaks
- Yellow markers for to be annotated peaks without annotations
- Orange markers for to be annotated peaks with annotations
- Red markers for to be annotated peaks with one or more rejected annotations
- Clicking on a peak shows its details
Query the campaigns that workers enrolled in
Query the campaigns that workers enrolled in
Russian and Chinese characters not persisting correctly
Russian and Chinese characters are persisted as ??? in the mySQL DB.
Worker Enroll Campaign
As a worker,
I want to enroll in campaigns
so that I can add annotations on peaks
- The page lists started campaigns which are not opted by the worker
- The new row should be added in the table 'works_on'
What happens if a manager closes a project, but a worker is still editing?
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.