Skip to content

saalehmohamedd/Social-Media-DRF

Repository files navigation

Social Media App V1

DRF APP using technologies like :

  • djoser
  • rest framework
  • django filters
  • docker
  • swagger
  • sqllite3 => (you can use any database)

*Users App:

    --models:
        -> custom user model which allow user to signup & login
        -> user profile model that creates an account after regiteration
        -> follow model that allow users to follow eachothers and see the followings and followers
        -> follow request model that send a notification for user who is private that somone follows thier account 


--urls:
    -> using endpoints:
        - /user-profile/{pk} => to get the data of the user
        - /user-profile-info/{pk} => to get the signup data of the user
        - /folloe/{pk} => to follow account
        - /follow-requests => to get all the requests if your account is private
        - /follow-requests/{pk} => to handle each request 
        - /followers => to get followers
        - /followings => to get following 
    ____________________________________________

*Authentication:


--Using Djoser To Signup Or Signin User Using The Custom User Serializer.
    -> endpoints:
        - /auth/users/ => to signup
        - /auth/token/login/ => to signin and generate token

-- Using DRF => authtoken To Generate Tokens.
    ________________________________________________
  • Post App:

--models:
    -> Written Posts Model => allow user to write their own post
    -> Shared Post Model => allow user to share post from anther user

--urls:
    -> using endpoints:
        /post => allow user to post
        /post-list/{pk} => allow user to get posts of user
        /edit-post/<int:pk> => allow user to edit thier posts
        /{username}/<int:id>/share => allow user to share posts
        /sharedpost-list/{pk} => allow user to get shared posts of user
        /edit-sharedpost/<int:pk> => allow user to edit thier shared posts
                ____________________________________________

*Likes App:


--models:
    -> Like Written Posts Model => allow user to like written posts
    -> Like_Notification_on_WrittenPosts => notify user when he gets a like on thier posts
    -> Like Shared Post Model => allow user to like shared posts
    -> Like_Notification_on_SharedPosts => notify user when he gets a like on thier shared posts

--urls:
    -> using endpoints:
        like-written-post/<int:id>' => to like a written posts
        list-likes-on-written-post/<int:id>' => to show count and user who reacted on a written posts
        like-written-post-delete/<int:pk>' => to allow only owner of the like to delete it
        like-shared-post/<int:id>' => to like a shared posts
        list-likes-on-shared-post/<int:id> => to show count and user who reacted on a shared posts
        like-shared-post-delete/<int:pk> => to allow only owner of the like to delete it
        written-posts-likes-notifications => get a notification of any like on your written posts
        shared-posts-likes-notifications =>  get a notification of any like on your shard posts
                ____________________________________________

*Comments App:


--models:
    -> Comment Written Posts Model => allow you to comment on any post
    -> Comment Shared Post Model => allow you to comment on any shard post
    -> Comment Notification on WrittenPosts Model => get notifications if anyone commmented on your post
    -> Comment Notification on SharedPosts Model => get notifications if anyone commmented on your shared post

--urls:
    -> using endpoints:
        /comment-written-post/<int:id>' => to like a written posts
        /list-comment-on-written-post/<int:id>' => to show count and user who reacted on a written posts
        /delete-comment-on-written-post/<int:pk>' => to allow only owner of the like to delete it
        /comment-shared-post/<int:id>' => to like a shared posts
        /list-comment-on-shared-post/<int:id> => to show count and user who reacted on a shared posts
        /delete-comment-on-shared-post/<int:pk> => to allow only owner of the like to delete it
        /written-posts-comment-notification => get notifications when anyone comments on your post
        /shared-posts-comment-notification => get notificatios when anyone comments on your shared post
                ____________________________________________

*Swagger


--urls:
    -> using endpoints:
         /swagger/ => to get swagger documintaion

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published