Code Monkey home page Code Monkey logo

brahimmade / shosho-media Goto Github PK

View Code? Open in Web Editor NEW

This project forked from davidcode-png/shosho-media

0.0 0.0 0.0 14.72 MB

A social network where people of similar hobbies can meet and connect with an interesting spin - by Using Jonathan Haidt ranking system of a social network to ensure a fair and safe network

Home Page: https://shoshomedia.herokuapp.com/

License: MIT License

JavaScript 2.04% Python 43.31% CSS 2.00% HTML 52.62% Procfile 0.04%

shosho-media's Introduction

Shosho-Media

A social network where people of similar hobbies can meet and connect with an interesting spin - by Using Jonathan Haidt ranking system of a social network to ensure a fair and safe network

NB: Still working for the ranking system in the next update

Shosho-Media

A social network where people of similar hobbies can meet and connect with an interesting spin - by Using Jonathan Haidt ranking system of a social network to ensure a fair and safe network

Project Documentation

  • Project Documentation is provided below.

Features

  • User

    • Mandatory Registration to access the site!

    • Login (For Registered Users)

    • Logout (For Registered Users)

    • Edit Profile (For Registered Users)

      • username
      • email address
      • location
      • profile image *bio
  • Admin

    • CRUD Operations
  • User Profile

    • Edit Profile
    • Reset Password (django all-auth)
  • Follow
    • Follower List
    • Unfollow friend from friend list
    • Users can search other users and send follow each other
    • Users can view the posts of other users they follow

Pages and navigation

alt text

Technological considerations

  • Django 2.1
  • Python 3.7
  • Bootstrap 5
  • Heroku
  • PostgreSQL 12
  • AWS S3 bucket

Needed Django models and their attributes

  • Profile Model
  • Post Model
  • Comment Model
  • Thread Model
  • Message Model
  • Notification Model

URIs

Completed URLS:

urlpatterns = [

path('', PostListView.as_view(), name='post-list'),
path('explore/',Explore.as_view(),name='explore'),
path('post/<int:pk>/', PostDetailView.as_view(), name='post-detail'),
path('post/<int:pk>/share', SharedPostView.as_view(), name='share-post'),
path('post/edit/<int:pk>',PostEditView.as_view(),name='post-edit'),
path('post/delete/<int:pk>',PostDeleteView.as_view(),name='post-delete'),
path('post/<int:post_pk>/comment/<int:pk>/delete',CommentDeleteView.as_view(),name='comment-delete'),
path('post/<int:post_pk>/comment/<int:pk>/like',AddCommentLike.as_view(),name='like-comment'),
path('post/<int:post_pk>/comment/<int:pk>/dislike',DislikeComment.as_view(),name='dislike-comment'),
path('post/<int:post_pk>/comment/<int:pk>/reply',CommentReplyView.as_view(),name='reply-comment'),
path('post/<int:pk>/like',AddLike.as_view(),name='like'),
path('post/<int:pk>/dislike',Dislike.as_view(),name='dislike'),
path('profile/<int:pk>/',ProfileView.as_view(),name='profile'),
path('profile/edit/<int:pk>/',ProfileEditView.as_view(),name='profile-edit'),
path('profile/<int:pk>/followers/add',AddFollower.as_view(),name='add-follower'),
path('profile/<int:pk>/followers/remove',RemoveFollower.as_view(),name='remove-follower'),
path('profile/<int:pk>/followers/',ListFollowers.as_view(),name='list-follower'),
path('search/',UserSearch.as_view(),name='profile-search'),
path('notification/<int:notification_pk>/post/<int:post_pk>',PostNotification.as_view(),name='post-notification'),
path('notification/<int:notification_pk>/profile/<int:profile_pk>',FollowNotification.as_view(),name='follow-notification'),
path('notification/<int:notification_pk>/thread/<int:pk>',ThreadNotification.as_view(),name='thread-notification'),
path('notification/delete/<int:notification_pk>',RemoveNotification.as_view(),name='notification-delete'),
path('inbox/',ListThreads.as_view(),name='inbox'),
path('inbox/create-thread',CreateThread.as_view(),name='create-thread'),
path('inbox/<int:pk>',ThreadView.as_view(),name='thread'),
path('inbox/<int:pk>/send',CreateMessage.as_view(),name='create-message'),

]

Heroku deployment

Deployment URL: https://shoshomedia.herokuapp.com/

Requirements

To run the web app properly you need to follow the following requirements and have them installed in the virtual environment.

  • Check out the requirements.txt

User

The user app has all the functionalities like login, signup, viewing profile and editing profile. The proper usage of the app comes with the initial usage of the app. The very beginning the app routes user to login in the app. The app used Django’s in built auth form in order to ensure the security of the user.

  • Login:

In the login page user have to give the user name and the password of the user in order to access to the web app. If the user does not have any account in the web app, they can access the sign up page from there using the sign up link just below the sign in form

  • Register
    • In the sign up page the user have to register himself to the web app. For that the user have to give some information in the very beginning. The user must have to provide the following info.

      • First name
      • vLast name
      • Username
      • Password
    • The requirements of providing password is as follows:

      • Your password cat be too similar to your other personal information.
      • Your password must contain at least 8 characters.
      • Your password cannot be a commonly used password.
      • Your password cannot be entirely numeric.
  • View profile

In the view profile page you can view the information you have listed. To update the information you have provided you can click on the edit button below and this will take you to the edit profile page.

  • Edit profile

In the edit profile page the user can update the information they have provided before and also now they can add some more informations like prone number, address. The cool part is now they can add and upload the profile picture of them and see that in the other part of the application.

  • View followers list

A user can check his or her followers in the dropdown menu.

  • Update posts

In the update posts the user can give the content of the status and click the post button.

Screenshots

6 7 8 9 11 1 2 3 4 5

shosho-media's People

Contributors

davidcode-png avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.