involvemint / impublic Goto Github PK
View Code? Open in Web Editor NEWPublic involveMINT repo
Home Page: https://app.involvemint.io
Public involveMINT repo
Home Page: https://app.involvemint.io
** Conversation **
clicking on the notifications button will display a scrollable list of notifications ranked with the most recent at the top. When a user receives a notification for a new like or comment, it is added to the top of the list.
** Confirmation **
User test and see if users understand or find this helpful
** Conversation **
there should be the option of uploading photos for posts; photos should be resized/compressed in order to prevent lag
** Confirmation **
user testing to ensure that photos are visible to others after posting
Conversation:
Users should have the ability to flag comments which they feel violates community guidelines.
-once a flag button is pressed, it is filled to indicate the current user has flagged the comment
-users can only flag a comment once to prevent spamming
-users can unflag a comment which they have previously flagged
-pressing the flag button will increment a comment's flagCount by one; unflagging will decrement
Conversation:
When the users click on the # of likes a post has (at the bottom of each activity feed item), a small window opens up which shows the profiles of other users that have liked the feed. The window with users should be scrollable.
Confirmation:
Conversation:
We created a data model to describe the new entities being added for the "Activity Post" item and the relationships... this needs to be translated and added to the InvolveMINT backend. Additionally, we should create the initial set of orchestrations necessary for the Activity Backend to function
Dependents:
Conversation:
The FE needs to add a new library to the Client application for InvolveMINT. The library should be able to pull required information from the BE to display (ugly) on the FE on a separate "Activity Feed" page. We likely will need to use NGRX to load and display the data on the FE properly. The display does not need to be pretty, but provide a skeleton and ensure we can call the BE and update from the Activity Feed page.
Dependents:
As per Dan's suggestion, user's should not receive an error message when posting an empty comment, they should just not be able to post an empty comment.
The activity feed needs to be almost identical to the hifi wireframe Dan has given.
Conversation:
Currently, we have infinite scroll, but we don't have the 'load more' feature included s.t. when scrolling down it will load more posts on that event. Will require a change to the component + NgRx to load more as well as updating current test suites. This branch:
https://github.com/involveMINT/im2/commits/feature/timeline
has useful information pertaining to getting the infinite load to work better and add limit (10 default) when doing this story as well!
Dependents:
Conversation:
To the right side of each comment in an activity feed, there should be a "..." button that pulls up an option to "flag" a comment and the "reason" for the flag. Reasons can be "inappropriate," "harmful," "derogatory," and "other."
Confirmation:
Conversation:
Below the bottom of each activity feed item, should be a comments section. Users should be able to click a "comment" button to bring up a text box for writing a comment for the feed item. Should be a "send" button as well to send the typed comment.
Confirmation:
Conversation: An epic, an Admin portal will need to be created to allow #11 and similar features to be created. In essence, the Admins need to have a separate portal page they can traverse which allows them to perform moderator actions on the InvolveMINT system/activity feed.
Currently, text doesn't wrap and simply ends on one line with an ellipses when overflowing. Additionally add a character limit to prevent spam and also display relevant user information regarding a comment.
Conversation:
To implement an Activity Feed digest, we need to create an API in the Activity Post Service that will enable us to generate a response that can be used on the FE to display to users or to send a text message. API should take in a 'startDate' which is the date back from which to fetch relevant activity feed activity. Add unit tests required as well.
Dependents:
** Conversation **
This could be a text or email to users.
** Confirmation **
User test or manual test to see if global notifications works
Conversation:
Each comment should contain a column with the number of times it has been flagged to keep track of user flagging activity
Users should not have to manually create their own activity posts. They should create a POI and an activity post will be generated for them
Conversation:
Someone needs to clarify this more (didn't understand fully what it means)
Confirmation:
^^^
** Confirmation **
pull statistical information primarily from the POI to display on the feed. We can create some API endpoint or route to make this happen. what do they want it to look like?
** Confirmation **
User testing/unit tests to make sure stats are accurate and that users expect to see certain statistics
Conversation:
As described in the recent PR for the feature/activity-feed branch, we were able to complete most testing; however, we had trouble getting the testing framework setup for the following scenarios:
ImStorageUrl
module is causing a problem when setting up the tests. We tried removing reference which causes tests to work but then client to fail to compile. Need help here @rgorham** Conversation **
From the pulled statistical information, aggregate this information so that we can display these statistics in a chart on the admin dashboard.
** Confirmation **
Ensure that these statistics are actually helpful for admins.
** Conversation **
Initial idea → Users of the platform should be able to turn notifications on/off, specifically choose to receive only notifications for likes or only for comments. These settings should also be saved in the backend
** Confirmation **
User testing to see if users can switch their settings. Unit testing to see if settings are saved.
Conversation:
Objective is to perform a small tweak to the backend and have it persist in the system. Requires edits to shared libs folder and server folder. Learn how to use typeorm, @orcha, and nestjs.
** Conversation **
Initial idea → Users of the platform will want their content to be displayed properly to other users without the InvolveMINT application degrading items. Do we want to talk about consistent size of images and how to achieve that?
** Confirmation **
Manual test to see if photos are good quality
Conversation:
Users of the InvolveMINT platform should display the number of likes next to the like button for each activity feed item.
Confirmation:
Conversation:
Exchange partners should have a webpage in the InvolveMINT application where they can view aggregated statistics from POI work across the community that impacts them. Ideally, it should present a series of graphs and charts that show the statistics and provides interactivity to change time windows, etc.
Confirmation:
** Conversation **
Initial idea → Users of the platform should be able to receive notifications on their phone when activity (likes/comments) occurs on their posts. Adding a new comment to a post’s thread will need to trigger an event enabling an immediate notification to the post author’s account.
** Confirmation **
Users testing to see if users find the notifications information helpful. Unit testing to see if likes/comments trigger notifications
Conversation:
As an admin, I want to see which comments in an activity post are flagged, and how many flags it has, so that I can know which comments need to be reviewed
Conversation:
Basically, a CRON Job needs to be created s.t. an SMS text is sent to users once a week. The contents should be constructed using the API from the Post Service.
Dependents:
Change layout of activity posts to match wireframe structure
** Conversation **
photos should also be progressively loaded when viewing news feed.
Initial idea → InvolveMINT stated that usability was on of their key elements for the project… the activity feed photos (likely the largest elements) need to download and render quickly or else the feed declines in usability. Potential solutions → Compression, indexing, CDN (probably unnecessary)
** Confirmation **
User testing to determine if activity feeds are populated with enough photos to be engaging
Conversation:
We need to figure out how the InvolveMINT notification system is currently configured so that we can update the system to include activity feed notifications. Note that Dan expressed his desire to have a weekly digest of sorts using SMS if possible (and email if not that).
Confirmation:
Users should be able to use the "@ + username" in an activity feed comment to tag and notify the users of a comment. The comment should not create a sub-thread, just exist in the current comments feed for a post. The username should also be clickable to the user's account.
Conversation:
Conversation:
Developers are responsible for creating wireframes to demonstrate the idea of what will be created during the next few sprints. Can do both low-fidelity (paper) and high-fidelity (Figma) wireframes. The wireframes should also be focused on the activity feed and how it will look. Daniel may have some existing wireframes for reference in the Figma folder.
Confirmation:
Conversation:
Add a notification digest modal that allows users to see relevant activity feed activity when toggled and pull up relevant posts.
Dependents:
Conversation:
We talked with InvolveMINT (Dan/Rob) and discovered that there is no current ERD/Data Model for the InvovleMINT application. This is an item that we need to have before starting on other user stories because we must edit the data model to reflect the changes we plan on adding. For example, if we plan on adding comments then we must provide an updated data model that reflects the new concept of comments data and where it will live.
Confirmation:
Conversation:
The activity feed should have a "like" button on the bottom each feed item. When users click the "like" button it updates the post's # of likes on the backend. Post-like the POI total # of likes should be updated immediately.
Confirmation:
Conversation:
Implement the activity-post like + unlike functions in the activity-post service. Since the architecture is mostly setup, we simply need to fill in these functions with the logic that is required for a like post:
Dependents:
Conversation
Initial idea → Currently POI photos are stored in a Google Drive. As application grows the storage consumed by storing full-sized photos could balloon, this is likely something that will help keep costs down.
Confirmation
Manual test to confirm that size of photos is an acceptable size, so that the GDrive will not fill up too quickly
Conversation:
A major dependency for all the other feature user stories, there needs to be an existing architecture/structure for the Activity Feed component of the application. This will allow the 5 team developers to work in parallel and more easily integrate the separate parts together. What we are looking for generally is that there is a separate section for the application for activity feed which has a data model for all the components of the Activity Feed we expect to be needed for MVP. It does not need to display the UI at this time, just be able to provide the site for the Activity Feed, fetch the data it needs, and have the correct models in place.
** Conversation **
Initial idea → Currently POI photos are indexed poorly (what does that look like?), implementing a better index could speed up photo fetch times which will increase system speed and capability.
** Confirmation **
Have some unit tests to make sure that photos are retrieved within __ seconds
Conversation:
We talked to Dan and Rob and there is currently no documentation on how/what is required to make changes to the InvolveMINT application. Since we are already onboarding to the project, they asked for us to provide artifacts to make it easier for future (and potentially open-sourced) developers.
Confirmation:
As per Dan's suggestion, new comments should be at the top rather than at the bottom and thus autoscrolling should go upwards rather than downwards.
Conversation:
Rob mentioned he wanted all the components we are creating to have a degree of unit testing. We need to pick a unit test framework to test NestJS/typeorm data models and write unit tests. First, check if there are existing examples of testing in the Backend application (unlikely). Second, either use existing or pick a framework to use for testing (Jest, Mocha, etc.).
Dependents:
Currently, bad comments with bad words, racial slurs, etc. can be posted. Prevent this as a first attempt at comment moderation.
Conversation:
Admins should have a separate portal that links comments that have been flagged as "inappropriate." Admins should be able to remove the comment through the portal or link to the post and make a decision from there. Admins will need special abilities and options in the system to be able to delete the comments as well as notify violating members.
Confirmation:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.