kristianweb / fakebooker-backend Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://fakebooker.com/
Home Page: https://fakebooker.com/
Is your feature request related to a problem? Please describe.
We need to implement a notification system for our app and we are starting off with posts notifications. The issue should implement the following features:
2.
User liked your post
You need to utilize web sockets for achieving that by using GraphQL subscriptions.
You can work on this feature by creating and using a branch called feature/notification-system
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We've decided to migrate our backend architecture from REST API based to GraphQL based since we can handle data better without having to make 120 endpoints. We're starting off with integrating graphql
to our existing project using apollo-server-express
.
Describe the solution you'd like
For our backend we are gonna use Apollo Server Graphql implementation ( it's got a good ecosystem, more features like advanced caching & better error handling and debugging + there are more people that use which is good )
yarn install graphql apollo-server-express --save
Note that we are gonna be using apollo-server-express
so we can apply our express code as a middleware and have access to the server core.
Detailed resource on how you do it you can find in here
You will work on this feature by creating and using a branch called feature/apollographql-integration
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Simply setup the app to run on heroku instead of localhost.
You can work on this feature by creating and using a branch called feature/heroku-deploy
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We are going to implement an About section that is going to be used for entering and editing personal data.
Describe the solution you'd like
Create more personal fields in the User Model:
( work as )
( lives in )
( from )
You can work on this feature by creating and using a branch called feature/about-user
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
Create Comment.js in models folder. We will need to create the below model and export it as mongoose model from this file.
{
id: String, // ObjectId of the comment
userId: String, // ObjectId of the user
content: String, // actual content of the comment
creationDate: Number, // unix timestamp of when this comment was created
likedBy: [{
id: String, // ObjectId of the user,
}], // array of users who liked this comment
disLikedBy: [{
id: String, // ObjectId of the user,
}], // array of users who disliked this comment
edited: boolean,
lastEditedDate: Number, // unix timestamp lastEdited
}
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We are going to implement a notification system that's going to be used for notifying related data between users.
Describe the solution you'd like
When User A comments on User B's post we have to store a notification model in DB.
The notification system is implemented but there are few refactors that are going to be implemented:
Comment
model and not the Post
model ). Check that on the frontend and see if there are errors and also refactor the type they are returning ( more info on the comment I've written in the code ).Post
modelYou can work on this feature by creating and using a branch called feature/notification-system
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
For our authentication layer we're starting off with migrating register
function located in routes/auth.js
.
Describe the solution you'd like
1.
Create a graphql structure that's gonna look like this: Resource
2.
Use the resource for reference on how to migrate the register function. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/register-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to update the Comment GraphQL architecture:
Describe the solution you'd like:
typeDefs
createComment/Commentusers.js/comments
CreateComment mutationYou can work on this feature by creating and using a branch called feature/update-createComment
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to add post
mongoose model. This model relates to posts that are made by users in our system.
Describe the solution you'd like
post.js
Post
.{
id: String, // ObjectId of post
source: String, // ObjectId of person who made the post
destination: String, // ObjectId of person who received the post(whose wall?)
typeOfPost: String, // Type of post[i.e., text, image, url like reddit?]
content: String, // actual content of the post
creationDate: Number, // unix timestamp of when this post was created
likesCount: Number, // numer of current likes
dislikesCount: Number, // numer of current dislikes
likedBy: [{
id: String, // ObjectId of the user,
username: String,
displayName: String,
profileImage: String, // so that we can show small image
}], // array of users who liked this post
disLikedBy: [{
id: String, // ObjectId of the user,
username: String,
displayName: String,
profileImage: String, // so that we can show small image
}], // array of users who disliked this post
comments: [Comment], // array of comments
edited: boolean,
lastEditedDate: Number, // unix timestamp lastEdited
}
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to remove the old REST
code because it got replaced by GraphQL
.
You should do this issue after you migrate the Posts REST API #55 #56. Until that you can use the code as a reference for faster implementation.
You can work on this issue by creating and using a branch called feature/remove-rest
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to implement a liking system that's going to be used for our Posts GraphQL API ( Comments included but later ).
You should work on this feature only if you've implemented the creating likes functionality
Describe the solution you'd like
Use this whole tutorial for reference on how to implement displaying likes
functionality. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/likes-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to update the register endpoint with the new fields so the User will include: email, username, password, fullName, dateOfBirth, gender
Describe the solution you'd like
auth.js
fileKeep in mind that this code is just for reference how the user is being stored, do not straight copy/paste
const newUser = new User({
email: req.body.email,
username: req.body.username,
password: req.body.password,
fullname: req.body.fullName,
dateOfBirth: req.body.dateOfBirth,
gender: req.body.gender
});
You can work on this feature using a branch called feature/auth-register-update
.
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
The Post system right now only contains text feature but to be able to have photos in our profile pages we have to add an image feature:
Describe the solution you'd like
You can work on this feature by creating and using a branch called feature/post-image
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to add comment mongoose model. This comment relates to the comments on posts(which users can make in our system).
Describe the solution you'd like
comment.js
Comment
.{
id: String, // ObjectId of the comment
postId: String, // ObjectId i.e., postId where this comment comes from
user: {
id: String, // ObjectId of the user
username: String,
displayName: String,
profileImage: String,
}, // user who made this comment
content: String, // actual content of the comment
creationDate: Number, // unix timestamp of when this comment was created
likesCount: Number, // numer of current likes
dislikesCount: Number, // numer of current dislikes
likedBy: [{
id: String, // ObjectId of the user,
username: String,
displayName: String,
profileImage: String, // so that we can show small image
}], // array of users who liked this comment
disLikedBy: [{
id: String, // ObjectId of the user,
username: String,
displayName: String,
profileImage: String, // so that we can show small image
}], // array of users who disliked this comment
edited: boolean,
lastEditedDate: Number, // unix timestamp lastEdited
}
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We want to add more fields to user model regarding personal data ( needed for the About UI Component ) and also remove the displayName and use the fullName from the new fields.
Describe the solution you'd like
User.js
file{
firstName: { type: String, required: true },
lastName: { type: String, required: true },
dateOfBirth: { type: Number, required: true },
gender: { type: String, required: true }
}
displayName
property because it's value is actually the first string of the email ( kristian
of [email protected]
) which is not a good idea since the email names are completely random ( thewinners12@
one of my emails for example ). Instead we can use the firstName field.Personal proposition
4) I don't think we need to have a username
field in the Register UI simply because it's useless to ask this at first point. My proposition is to use facebook's way of doing it:
1) The facebook's register form asks for fullname, phone, password, birthOfDate and gender.
2) When the account is created a unique username is created using the fullname and some
random digits after it and then if you want to change the username you can do so in the
user settings.
You can work on this feature using a branch called feature/user-update-model
.
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
The newsfeed system is essentially going to be fetching all posts from all the users in the application in a specific way.
Describe the solution you'd like
You can work on this feature by creating and using a branch called feature/newsfeed
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
The user should be able to have friends. Consider the following DB relations:
Describe the solution you'd like
When User A
send friend request to User B
( by clicking a button on the frontend )
it will take the ID
of the userA ( requester ) who sent it, ID
of userB ( recipient ):
status
in the notification Modelpending, accepted, rejected
pending
accepted
=> add User A's id to user B's friends array DB( without notifying )
You can work on this feature by creating and using a branch called feature/friends-system
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to update the Register GraphQL architecture:
You should work on this issue once you've implemented #47
Describe the solution you'd like:
typeDefs
registerusers.js/register
mutationgenerateToken
funcYou can work on this feature by creating and using a branch called feature/update-register
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to update the loadUser GraphQL architecture:
You should work on this issue once you've implemented #47
Describe the solution you'd like:
users.js/loadUser
querygenerateToken
funcPlease, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to migrate the loadUser
function located in routes/auth.js
.
Describe the solution you'd like
1
. Use the same structure that's described in details in other issues ( #50 ).
2
You can test if the implementation works by running the project locally ( a graphql playground is provided by apollo-server-express
) and see if everything is alright. If you encounter any problems regarding figuring that out ask the other developers in the discord server.
You will work on this feature by creating and using a branch called feature/loaduser-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
Comemnts for now can only be viewed/removed and nothing else. We are going to implement liking
and replying
functionality on them:
Describe the solution you'd like
Like a comment:
postId
ref to dynamic refPath and include the needed model in a specific situation ( Comment
when we like a comment or Post
when we like a post )Reply to a comment:
commentReply resolvers/types
Store commentReply ID in the comment
We should be able to reply to a comment
Try to fetch the likes and comments without storing their IDs in the Post since I think that it's easier. Try it out!!
You can work on this feature by creating and using a branch called feature/comment-update
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to see available hosting options for deploying our backend app.
You can work on this feature by creating and using a branch called feature/deploy
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to migrate to apollo-server
because we are having problems with suscriptions implementation.
You can work on this feature by creating and using a branch called feature/apollo-server-migration
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to update the Post GraphQL architecture:
Describe the solution you'd like:
typeDefs
deletePost/Postusers.js/posts
deletePost mutationYou can work on this feature by creating and using a branch called feature/update-deletePost
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to update the Post GraphQL architecture:
Describe the solution you'd like:
typeDefs
CreatePost/Postusers.js/posts
CreatePost mutationYou can work on this feature by creating and using a branch called feature/update-createPost
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
You can work on this feature by creating and using a branch called feature/change-image
Is your feature request related to a problem? Please describe.
We have to update the Comment GraphQL architecture:
Describe the solution you'd like:
typeDefs
deleteComment/Commentusers.js/comments
deleteComment mutationYou can work on this feature by creating and using a branch called feature/update-deleteComment
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
For our Posts API we're starting off with migrating displaying posts functionality
located in routes/posts.js
.
Describe the solution you'd like
Use the resource for reference on how to migrate getting posts
functionality. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/posts-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We need to implement a notification system for our app and we are starting off with posts notifications. The issue should implement the following features:
1.
User commented on your post
You need to utilize web sockets for achieving that by using GraphQL subscriptions.
You can work on this feature by creating and using a branch called feature/notification-system
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
A very interesting feature that I'm personally excited about is developing a chat system:
Describe the solution you'd like
Use the following resources to guide you through your coding journey:
You can work on this feature by creating and using a branch called feature/chat-system
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have the about component with a detailed form modal which is used by the user to fill his personal data about himself. Implement a backend function called `personalData which populates the User model's properties.
Describe the solution you'd like
Implement a new function located in routes/auth.js
that will be hit from the frontend with the user's data. Use the information and populate the existing properties in the User.js
model.
You can work on this feature by creating and using a branch called feature/personal-data
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
getMessages
query returns all messages related to the authUser ( notifier ) which means that every message ( even from the same user ) is shown on the frontend. Implement logic that returns the latest message from every single thread in an array.You can work on this refactor by creating and using a branch called refactor/get-messages
Is your feature request related to a problem? Please describe.
Before implementing all these new features ( issues )
let's make sure we do that the right RIGHT way! We are going to be using a lot of good techniques ( TDD etc. ) for test-covering our app so we can sleep good at night without having nightmares.
Describe the solution you'd like
jest
You can work on this feature by creating and using a branch called feature/unit-testing
Is your feature request related to a problem? Please describe.
In this issue we are gonna be migrating creating posts functionality
located in routes/posts.js
.
Describe the solution you'd like
Use the resource for reference on how to migrate creating posts
functionality. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/posts-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
You can work on this refactor by creating and using a branch called refactor/new-message
Is your feature request related to a problem? Please describe.
The like system and the Post one are now separated from each other, you have to separate the Comments as well.
Describe the solution you'd like:
Consider the following schema:
You can work on this feature by creating and using a branch called feature/update-commentModel
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
quotes
to User modelYou can work on this feature by creating and using a branch called feature/short-description
Is your feature request related to a problem? Please describe.
We need to migrate the login
function located in routes/auth.js
.
Describe the solution you'd like
1.
Create a graphql structure that's gonna look like this: Resource
2
Use the resource for reference on how to migrate the register function. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
3
You can test if the implementation works by running the project locally ( a graphql playground is provided by apollo-server-express
) and see if everything is alright. If you encounter any problems regarding figuring that out ask the other developers in the discord server.
You will work on this feature by creating and using a branch called feature/login-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
When you delete a post, make sure to delete all comments/likes related to it.
Also since you are the post creator you should be able to delete other people comments if necessary.
You can work on this refactor by creating and using a branch called refactor/post
Is your feature request related to a problem? Please describe.
We have to update the Post GraphQL architecture:
Describe the solution you'd like:
typeDefs
getPostsusers.js/posts
getPosts queryYou can work on this feature by creating and using a branch called feature/update-getPosts
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to update the Post GraphQL architecture:
Describe the solution you'd like:
typeDefs
likePost/Postusers.js/posts
likePost mutationYou can work on this feature by creating and using a branch called feature/update-likePost
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to implement deleting posts
functionality for our Posts GraphQL API.
Describe the solution you'd like
Use this whole tutorial for reference on how to implement deleting posts
functionality. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/posts-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
Update Post.js in models folder. We will need to create the below model and export it as mongoose model from this file.
{
source: String, // ObjectId of person who made the post
destination: String, // ObjectId of person who received the post(whose wall?)
typeOfPost: String, // Type of post[i.e., text, image, url like reddit?]
content: String, // actual content of the post
creationDate: Number, // unix timestamp of when this post was created
likedBy: [{
id: String, // ObjectId of the user,
}], // array of users who liked this post
disLikedBy: [{
id: String, // ObjectId of the user,
}], // array of users who disliked this post
edited: boolean,
lastEditedDate: Number, // unix timestamp lastEdited
comments: [Comment], // array of comments
}
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We want to add more fields to user model.
Describe the solution you'd like
user.js
file{
email: String, // unique in the entire application
displayName: String, // no need to be unique
profileImage: String, // to be decided most likely base64 img or blob
coverImage: String, // to be decided most likely base64 img or blob
photos: Array[byte] // array of top 9 base64 images,
joinDate: Number, // unix timestamp
lastLogin Number, // unix timestamp
status: {
isActive: boolean,
lastActiveDate: Number, // unix timestamp
}
about: {
dob: Number, // unix timestamp for date of birth,
bio: String, // their bio or description
}, // about section
}
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to implement a liking system that's going to be used for our Posts GraphQL API ( Comments included but later ).
You should work on this feature only if you've implemented the deleting post functionality
Describe the solution you'd like
Use this whole tutorial for reference on how to implement creating likes
functionality. Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/likes-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to implement a comment system that's going to be used for our Posts GraphQL API.
You should work on this feature only if you've implemented the Posts GraphQL migration
Describe the solution you'd like
Use this whole tutorial for reference on how to implement creating comments
functionality Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/comments-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
The moment has come and that is a perfect time to integrate TypeScript!
Describe the solution you'd like
ts
packages and tsconfig
( set-up TypeScript )Helpers:
Express/Apollo/GraphQL/TypeScript Project article
Project repo
You can work on this feature by creating and using a branch called feature/typescript
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We want to add more fields to user model regarding personal data ( needed for the detailed form on the about component )
Describe the solution you'd like
firstName, lastName, email, password, gender, avatarImage, coverImage, roles
You can work on this feature using a branch called feature/user-update-model
.
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
Is your feature request related to a problem? Please describe.
We have to implement a comment system that's going to be used for our Posts GraphQL API.
You should work on this feature only if you've implemented the Posts GraphQL migration
Describe the solution you'd like
Use this whole tutorial for reference on how to implement displaying comments
functionality Just make sure you adjust that code and use it in our app ( don't straight copy/paste please!
)
You will work on this feature by creating and using a branch called feature/comments-graphql-implementation
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/
or feature/
prefixes. Good examples are: fix/signin-issue
or feature/issue-templates
.
2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4. yarn run lint
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).
3.1. Give a descriptive title to your PR.
3.2. Provide a description of your changes.
3.3. Put closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).
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.