GithubHelp home page GithubHelp logo

alexandrabaturina / network Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 102 KB

Twitter-like social network website for making posts and following users

Python 51.30% HTML 33.87% JavaScript 12.63% CSS 2.21%
django-backend javascript-frontend bootstrap

network's Introduction

Project 4: Network

Overview

The current repo contains project called network which is Twitter-like social network website for making posts and following userse built with Django framework.

This project is built as Project 4 for CS50W 2020 course provided by edX platform.

Features

The project meets the following requirements.

  • New Post
    Users who are signed in are able to write a new text-based post by filling in text into a text area and then clicking a button to submit the post.

image

  • All Posts
    The "All Posts" link in the navigation bar takes the user to a page where they can see all posts from all users, with the most recent posts first.
    • Each post includes the username of the poster, the post content itself, the date and time at which the post was made, and the number of "likes" the post has.

image

  • Profile Page
    Clicking on a username loads that user’s profile page. This page should:
    • Display the number of followers the user has, as well as the number of people that the user follows.
    • Display all of the posts for that user, in reverse chronological order.
    • For any other user who is signed in, this page should also display a "Follow" or "Unfollow" button that will let the current user toggle whether or not they are following this user’s posts. This only applies to "other" users: a user is not be able to follow themselves.

image

  • Following
    The "Following" link in the navigation bar takes the user to a page where they see all posts made by users that the current user follows.
    • This page behaves just as the "All Posts" page does, just with a more limited set of posts.
    • This page is only available to users who are signed in.

image

  • Pagination
    On any page that displays posts, posts are only displayed 10 on a page. If there are more than ten posts, a "Next" button appears to take the user to the next page of posts (which should be older than the current page of posts). If not on the first page, a "Previous" button appears to take the user to the previous page of posts as well.

image

  • Edit Post
    Users are able to click an "Edit" button or link on any of their own posts to edit that post.
    • When a user clicks "Edit" for one of their own posts, the content of their post is replaced with a textarea where the user can edit the content of their post.
    • The user is then able to "Save" the edited post.

image

image

  • "Like" and "Unlike"
    Users are able to click a button or link on any post to toggle whether or not they "like" that post.

Dependencies

The app is built using Django framework. To install Django via terminal, use the following command.

$ pip3 install Django

Getting Started

Running Locally

To run network locally,

  1. Clone this repo.
  2. cd into project directory.
  3. Start the Django web server.
$ python manage.py runserver
  1. Access 127.0.0.1:8000 in your browser.

Resetting a Database

The repo contains test database. To reset database,

  1. Delete db.sqlite3 file.
  2. Run the following command.
$ python manage.py flush

Authors

Alexandra Baturina

network's People

Contributors

alexandrabaturina avatar

Stargazers

 avatar  avatar

Watchers

 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.