nonio's People
Forkers
atulfpnonio's Issues
Create forgot password flow
Reporter: daniel
New post page (video)
Update payout calculation to use db transaction
Create basic cross-domain example requests with and without auth.
The very basic first step. There should be a single endpoint available:
/posts/:url
This should return a block of json detailing all of the things necessary for a request for a specific post:
{
"title": "test post",
"OC": true,
"url": "non.io/this_is_crazy",
"user": {
"username": "wombodombo",
"avatar": "img.non.io/avatars/wombodomo.png"
},
"thumbnail": "img.non.io/thumbnails/f3c34da.jpg",
"score": 148,
"grade": null,
"date": "2018-02-14 8:43pm",
"content": "img.non.io/fullres/this_is_crazy.jpg",
"type": "image",
"tags": [
{
"tag": "funny",
"upvotes": 92,
"downvotes": 0,
"date": "2018-02-14 8:43pm"
},
{
"tag": "meme",
"upvotes": 38,
"downvotes": 0,
"date": "2018-02-14 10:44pm"
},
{
"tag": "image",
"upvotes": 18,
"downvotes": 0,
"date": "2018-02-14 10:44pm"
}
}
The response can be static for this version, but it should be accessible from https://non.io/*
Upvote post
Backend tasks
- Add entry into the user's upvote history for each tag they upvoted on the post.
- add a reference for the author that the user upvoted them so money can be distributed at the end of the month
- increment the amount of upvotes for the particular post for the tag(s) that were upvoted
- add ability to remove upvotes from tags
Frontend tasks
- Upvote UI and POST logic for the upvote
- Page showing the things the user has upvoted that month
- Ability to cancel upvotes
Add comment reply to comment
Require a title for submitted posts
Tags endpoint
Create
/tags/
/tags/new
/tags/:tag
/tags/:tag/top
/tags/:tag/new
/tags/top
/tags/top/day
/tags/top/week
/tags/top/month
/tags/top/year
Create new tag
Ability to create a new tag. This should register the user who created it as well. In the future I may have a moderation system, so I want to keep reference of who created each tag.
Backend tasks
- working API endpoint for creating new tags
Frontend tasks
- Tag creation flow
Comments endpoints
Create
/comments/post/:post
/comments/comment/:comment
/comments/user/:user
Posts endpoint
Create
posts/
posts/new
posts/top
posts/top/day
posts/top/week
posts/top/month
posts/top/year
POC of an authenticated request
When a user requests
/posts
The backend should check and see if the request was made with a valid JWT. If not, it should respond with a simple
401 unauthorized
If the JWT is valid, it should respond with a list of posts.
``
{
posts: [
{
"title": "test post",
"OC": true,
"url": "non.io/this_is_crazy",
"user": {
"username": "wombodombo",
"avatar": "img.non.io/avatars/wombodomo.png"
},
"thumbnail": "img.non.io/thumbnails/f3c34da.jpg",
"score": 148,
"grade": null,
"date": "2018-02-14 8:43pm",
"content": "img.non.io/fullres/this_is_crazy.jpg",
"type": "image",
"tags": [
{
"tag": "funny",
"upvotes": 92,
"downvotes": 0,
"date": "2018-02-14 8:43pm"
},
{
"tag": "meme",
"upvotes": 38,
"downvotes": 0,
"date": "2018-02-14 10:44pm"
},
{
"tag": "image",
"upvotes": 18,
"downvotes": 0,
"date": "2018-02-14 10:44pm"
}
]
},
{
"title": "So and so gets elected",
"OC": true,
"url": "non.io/So and so gets elected",
"user": {
"username": "mrWilson",
"avatar": "img.non.io/avatars/mrWilson.png"
},
"thumbnail": "img.non.io/thumbnails/3d8efa5.jpg",
"score": 132,
"grade": null,
"date": "2018-02-14 10:02pm",
"content": "Some longform writing content blah blah blah...",
"type": "blog",
"tags": [
{
"tag": "news",
"upvotes": 92,
"downvotes": 0,
"date": "2018-02-14 10:02pm"
},
{
"tag": "politics",
"upvotes": 38,
"downvotes": 0,
"date": "2018-02-14 10:44pm"
}
]
},
...etc
]
}
``
This can be a static response for the purposes of this issue.
Stripe - Link user to plan
Step 5 of the stripe docs.
Create user db model
Will be required for login purposes and for stripe integration when matching users to a specific plan.
Create new post
First type will be a simple text post. Need both the backend logic as well as the frontend flow.
Signup / Login page
Stripe - Card Acceptance
Step 1 of https://stripe.com/docs
Create video upload pipeline for a new video post
We'll have to figure out how we want to handle re-encoding once we upload. I may use something like zencoder for now as it'll be easier to just handoff to. Later on I can do something more custom.
Admin mode
Backend features
- Addition to the user model of an admin boolean
- Delete post API endpoint accessible if admin == true
Frontend features
- Delete post link per post
- Admin flair on username
Stripe - Customer creation and linking to user model
Step 2 of https://stripe.com/docs plus we'll want to store the stripe customer details in the user model.
Allow viewing of other people's profiles
Reporter: Daniel
View post page (video)
Add backend config documentation to readme
XSS attack vector
Rework the image pipeline to stop heic/webp encoding in favor of AVIF.
Reporter: Daniel.
Chrome/Lastpass doesn't treat signup form password field as a password field for the purposes of auto generation
Expected behaviour:
Opening password field should prompt chrome/lastpass to generate a new password
Actual behaviour:
Password field is not highlighted by chrome/lastpass as a field to generate a new password
Comment voting not sending POST on the frontend
Reporter: Daniel
Add comment to post
All posts page
New post page (image)
Tags page
Console errors when creating tags
Add backend install process to readme
Switching between top and newest on comments makes replies to top level comments disappear
reporter: Daniel
Stripe - Change plan
Stripe - Charge test
Simple test of a sample charge. Step 3 of https://stripe.com/docs
If no posts exist for a tag, tag list will show all posts.
Create image upload pipeline for a new image post
Should upload an image and store the image url in the post model.
User profile management
Backend tasks
- Change subscription plan
- Change password
- Change payment info
- Change avatar
- Change username
Frontend tasks
- Change subscription plan flow
- Change password flow
- Change payment info flow
- Change avatar flow
- Change username flow
Stripe - Subscription plan
Step 4 of stripe docs
Singup payment page
Create DB models
Current models are here: https://github.com/jjcm/soci-backend/blob/master/models/database.js.example
Would be good to rev this out and ensure that these are the right things we want for the logic we want to achieve.
Test imagemagick with imagetragick
Tag page
View post page (image)
View comments for post
Create simple google cloud connection example
Avatar cropper doesn't work at larger sizes
Reporter: Charles
Avatar resizer overlay doesn't scale with the parent container, and if it's larger than the min size it breaks.
Allow signin via SSO and generate a JWT for the user to req with.
See http://frontend/login for the current experience. We'll modify it so it points to the ported scala version of the SSO authentication logic and issue the frontend a JWT.
Add to-do list for all backend things required for MVP launch
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.