Giter Club home page Giter Club logo

blogverse's Introduction

BlogVerse

BlogVerse

Dynamically generated stats

Tests Passing Code Coverage Wakatime

Problem Statement

Create an web application to facilitate the blog creation capabilities with below mentioned features

  1. Create infrastructure in such a way that any user can create their blog.
  2. Allow user to use different type of formatting for text
  3. Your web application should allow user to generate a link for every blog created at your application so that user can showcase their blog to real world Technology: • Python (Flask) • Database (NoSQL) • HTML • Javascript, CSS, Bootstrap

Introduction

BlogVerse is a Blog Creator Web Application project aimed at facilitating users to showcase their contents, thoughts, skills in the form of Blogs. This project utilizes Web Development using Python technology and data are stored in NoSQL cloud server. My motivation behind this project is to enhance my programming skills on Python along with learning various aspects of Web Development followed by building CI/CD pipeline and Could hosted Deployment.

Features

  • Real time blog creation by multple users.
  • Real time updation and deletion of blog.
  • Secured authentication for each user provides extra level of security.
  • CRUD operations - Create Blog, Read Blog, Update Blog, Delete Blog
  • Providing option to put comments as well as Ratings on blogs posted by other users.

Tools

image

Installation

  1. Navigate a new folder (e.g. Projects)

  2. Intialize Git

    git init
    
  3. Clone the repo

    git clone https://github.com/abhijitpaul0212/BlogVerse.git
    
  4. Navigate to the BlogVerse folder (root folder)

  5. Create virtual environment

    python -m venv .venv
    
  6. Activate virtual environment MAC/Linux

    source .venv/bin/activate
    

    Windows (git bash)

    source .venv/Scripts/activate
    
  7. Install packages

    pip3 install -r requirements.txt
    
  8. Setup environment variables as per you (use .env.example file and rename it to .env)

  9. Run the server

    python3 application.py  | flask run
    

Unit Test

  1. Navigate to the root folder
  2. Run
    python -m pytest --disable-warnings
    

Code Coverage

  1. Navigate to the root folder
  2. Run
    python -m pytest --cov=./ --cov-report=xml
    

Flask Scripts

Adding single new category

python manage.py --name=<category_name>

Adding multiple new categories

python manage.py --name=<category1_name,category2_name,category3_name>

Project URLs

  1. Render: https://blogverse-dhh8.onrender.com/
  2. AWS: http://blogverse-env.eba-m3q4hiu7.us-east-1.elasticbeanstalk.com/

Project Demo

BlogVerse-Project-Demo.mp4

Project Artifacts

  1. High Level Design (HLD): HLD_BloggingWebsite.pdf
  2. Low Level Design (LLD): LLD_BloggingWebsite.pdf
  3. Architecture Design: Architechture_BloggingWebsite.pdf
  4. Wireframe Document: Wireframe_BloggingWebsite.pdf
  5. Detailed Project Report (DPR): DPR_BloggingWebsite.pdf
  6. Project Demo Video: https://youtu.be/8lv5jNUXcKQ?si=Ff1MIxzQMp9MBvj1

Project Hierarchy

BlogVerse
├── application.py
├── config.py
├── manage.py
├── README.md
├── requirements.txt
├── src
│   ├── extensions.py
│   ├── models
│   │   ├── blog.py
│   │   ├── user.py
│   ├── routes
│   │   ├── blogs
│   │   │   ├── routes.py
│   │   ├── main
│   │   │   ├── routes.py
│   ├── static
│   │   ├── css
│   │   │   └── styles.css
│   │   ├── images
│   │   │   ├── bg.jpg
│   │   │   ├── blogverse.png
│   │   │   └── logo.svg
│   │   └── scripts
│   │       └── message.js
│   ├── templates
│   │   ├── base.html
│   │   ├── blogs
│   │   ├── flask_user
│   │   │   ├── emails
│   │   │   ├── login.html
│   │   │   ├── register.html
│   │   ├── index.html
│   │   ├── layout.html
│   │   └── oops.html
├── tests
│   ├── conftest.py
│   ├── unit

Contributing

Contributions to this project are welcome. If you find any issues or want to enhance the functionality, feel free to open a pull request. Please make sure to follow the coding conventions and provide detailed information about the changes.

License

This project is licensed under the MIT License

blogverse's People

Contributors

abhijitpaul0212 avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

mousumipaul0103

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.