Git Product home page Git Product logo

riyadomf / brevity Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 15.71 MB

Brevity is a blog site for experience and resource sharing. Experienced people can share their knowledge and the difficulties they faced while learning a particular topic. Beginners can ask for resources and seek help from experts.

Home Page: http://brevityflask.pythonanywhere.com/

Python 14.54% CSS 59.33% HTML 25.35% Shell 0.10% JavaScript 0.55% Mako 0.14%

brevity's Introduction

Brevity

A blog site made for experience and resource sharing. Brevity is currently hosted on heroku platform.


Motivation

This is a blog site where experienced people can share their knowledge and the difficulties they faced while learning a particular topic. Beginners can ask for resources and seek help from experts. It will connect beginners with experts.
Currently most of us use Facebook for this purpose which is overwhelming and distracting. Brevity means precise and exact use of words. It will always encourage to the point discussion.

Features Implemented

  • A Responsive UI for users

  • User Authentication

    • Login, Register
    • Password Reset
  • User Profile

    • Update Profile
  • Post

    • CRUD operation
    • Upvote, Downvote
    • Comment
      • Anyone can Comment
      • can be deleted by Post Author and Comment Author
    • Resource
      • Post Author can Upload files with valid extensions (within specified size)
      • Anyone can Download Resource files from post
    • Users can Bookmark their favourite posts
    • Tag
      • Users can assign specific Tags to their post
      • Update Tag
  • Search Post with

    • Title
    • Tag (using 3rd bracket)
    • Admin defined Tag (e.g. If user searches with [dbms] tag then search results will contain posts of [dbms] tag along with [database] tag)
  • Sort Post

    • by Date
    • by Popularity
    • on search results
  • User Contribution

    • based on Upvote, downvote
    • Top Contributors list
  • Create/Edit post content using Rich text editor

    • Create Table
    • Insert image by url
    • various font styles
    • Numbered/Bulleted list
  • More Features:

    • Infinite scroll and lazy loading
    • One can see all post of a particular user by clicking on his/her username
    • User summary in a popup panel when hovering over the user's name

Used Technologies

  • Framework: Flask
  • Language: Python
  • Database: MySQL
  • Frontend: HTML, CSS, JavaScript, HTMX

Presentation video

Brevity presentation

Clone this Project

git clone https://github.com/riyadomf/Brevity.git

Run the Project in your Machine

Install virtual environment:

pip install virtualenv

Create your own environment:

virtualenv <yourenvname>

Activate your environemnt:

source <yourenvname>/Scripts/activate

Now install requirements.txt:

pip install -r requirements.txt

Edit the file named ".env.example" and assign SECRET_KEY, SQLALCHEMY_DATABASE_URI, MAIL_USERNAME, MAIL_PASSWORD according to instructions written in the file and rename the file name as ".env".

Create database from python CLI before running the server:

from brevity import create_app
from brevity import db
app = create_app()
app.app_context().push()
db.create_all()

Then run the server:

python run.py

Some Snapshots

Home Page

Sort

Post Update, Delete

Resource Files

Comment

Rich Text Editor

Rich Text Editor output

Search Result

Bookmark

Individual Post

User Summary Popover

Contributor List

Contributors

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.