Dynamically generated stats
## 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](https://github.com/abhijitpaul0212/BlogVerse/assets/9966441/744a3f74-5342-481c-b44b-18a2c89e8e9f)
## Installation
1. Navigate a new folder (e.g. Projects)
2. Intialize Git
```
git init
```
4. Clone the repo
```
git clone https://github.com/abhijitpaul0212/BlogVerse.git
```
6. Navigate to the BlogVerse folder (root folder)
7. Create virtual environment
```
python -m venv .venv
```
9. Activate virtual environment
MAC/Linux
```
source .venv/bin/activate
```
Windows (git bash)
```
source .venv/Scripts/activate
```
11. Install packages
```
pip3 install -r requirements.txt
```
13. Setup environment variables as per you (use _.env.example_ file and rename it to _.env_)
14. 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=