Skip to content

LujainKhalaf/Soengram

Repository files navigation

Soengram

A photo sharing social networking website

About this Project

Social media platforms provide instant gratification and analytical data among users - businesses, celebrities, influencers and everyday individuals - as they are able to gauge engagement and impact through their posts and comments received by other users. Follower count is a measure by which users can gauge their popularity among other users on the platform. Soengram provides users all these tools by allowing users to easily interact with others through posting photos on their account timeline and spark conversation through commenting on posts. Users are also able to stay up to date and informed by following friends, family and favorite celebrities and influencers.

Objective

Develop a photo sharing social networking website where businesses, celebrities, influencers and regular everyday individuals can post photos, comment on posts and follow other users.

Features

  • Post pictures with description
  • Follow other users on the platform
  • Comment on other users posts

Built With

Getting Started

Prerequisites

Before you continue, ensure you have installed the following requirements:

Setup

  1. Clone the repository
    $ git clone https://github.com/LujainKhalaf/Soengram.git
  2. Create a virtualenv and activate it
    $ cd Soengram
    
    # Windows
    $ py -3 -m venv venv
    $ venv\Scripts\activate
  3. Install all packages
    $ pip install -r requirements.txt
  4. Setup a local PostgreSQL database
  5. Copy .env.sample, rename to .env and edit the following lines
    DB_TYPE="postgresql"
    DB_HOST="localhost"
    DB_PORT="5432"
    DB_USERNAME="your_username"
    DB_PASSWORD="your_password"
    DB_DATABASE="soengram"
    
    # Windows
    POST_UPLOAD_FOLDER = '\\static\\post_images\\'
    
  6. Prep the db by running this command in the root of the project
    $ python3 ./seed/db_prep.py
  7. Make the db migrations
    $ flask db upgrade
  8. Seed test data
    $ python3 ./seed/seed.py
  9. Start application
    $ flask run

Running the Tests

Run all tests with the following command in the project virtual environment.

$ pytest

Contributing

See CONTRIBUTING.md detailing basic guidlines for pushing new code to the repo and a basic workflow example.

Acknowledgments

Soengram is an educational non-profitable project based on the social networking service Instagram. The design and functionalities are adapted from Instagram to meet project requirements. This web application is not hosted for commercial use, but rather for academic purposes.

Copyright © 2021 Soengram adapted from Instagram and customized by Soengram team

Libraries

This project uses the following libraries:

Team