Git Product home page Git Product logo

wakandawebweaver / hivemind Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.42 MB

A social media website that has features like making posts, commenting, following a user and etc. This whole thing is college specific i.e., you can only use this website while being within your college domain

License: GNU General Public License v3.0

Python 19.52% CSS 2.03% HTML 78.45%
aws flask mongodb python social-media-app

hivemind's Introduction

HiveMind

Development paused. Might resume, idk :)

Star the repository if you like the project, and feel free to contribute.

Description

HiveMind is a college-specific platform that allows students to share study materials, ask questions, and discuss topics with their peers. The platform is designed to be user-friendly and easy to navigate, with features such as a profanity filter. Users can create posts, comment on posts, view/download study materials, upload study materials etc.

Table of Contents

Installation

  1. Clone the repository
    git clone https://github.com/WakandaWebWeaver/hivemind.git
    
  2. Install the required packages
     pip install -r requirements.txt
    
  3. Run the application
    python app.py
    

Usage

  1. Before you can use the application, you need to setup various services such as an amazon s3 bucket, a MongoDB database, and also update the environment variables in the .env file.
  2. Once you have setup the services, you can run the application using the command python app.py

Services Setup

Setting up your program to interact with the MongoDB can be quite painful and confusing, but you only need to change two things in the file:

  1. The .env variables
  2. The DB name

As for interacting with the AWS CS, this process is a little extensive.

  1. Sign up for the AWS Console, and search for S3 in the search bar.

    Follow the instructions on screen to continue to create a Storage Bucket.

  2. Now, search for 'IAM' in the search bar

    Proceed to create a new user in your organization which can interact with these databases. When setting permissions, make sure to select the following permissions:

    • AmazonS3FullAccess
    • AmazonTextractFullAccess
    • AmazonTextractServiceRole
    • IAMUserChangePassword
  3. Finally, copy the relevant data [AWS_ACCESS_KEY_ID and the AWS_SECRET_ACCESS_KEY] which can be found in the user information page, and also the region of your S3 bucket, and update the .env file.

Another service you need to setup is the Giphy API. This is a simple process, just sign up for a Giphy account and create a new app. You will be given an API key which you can use to interact with the Giphy API.

The .env file should look something like this:

AWS_BUCKET_NAME=
AWS_ACCESS_KEY_ID=
AWS_REGION=
AWS_SECRET_ACCESS_KEY=
MONGO_URI=
MONGO_DB_NAME=
GREC_SITEKEY=
GIPHY_API_KEY=

For information on creating, accessing and viewing your mongo dbs, Mongo Docs

For information on creating a reCaptcha key, check out Google reCaptcha

Info on AWS, AWS S3 Setup Guide

Features

  • Create Posts (Text, Image, Video & Audio)
  • Comment on Posts
  • View/Download Study Materials
  • Upload Study Materials
  • Search for Study Materials
  • Profile Pages

Additional Features

Here are some of the special features:

  • reCaptcha
  • User authentication
  • User account creation
  • Profanity filter
  • Add songs to posts and profile

Contributing

To request features, report issues and bugs, please start a new issue in the issues tab.

Don't forget to star the repository if you like the project

hivemind's People

Contributors

wakandawebweaver avatar

Stargazers

tejaswiikoul 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.