Dynamically generated stats
Create an web application to facilitate the blog creation capabilities with below mentioned features
- Create infrastructure in such a way that any user can create their blog.
- Allow user to use different type of formatting for text
- 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
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.
- 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.
-
Navigate a new folder (e.g. Projects)
-
Intialize Git
git init
-
Clone the repo
git clone https://github.com/abhijitpaul0212/BlogVerse.git
-
Navigate to the BlogVerse folder (root folder)
-
Create virtual environment
python -m venv .venv
-
Activate virtual environment MAC/Linux
source .venv/bin/activate
Windows (git bash)
source .venv/Scripts/activate
-
Install packages
pip3 install -r requirements.txt
-
Setup environment variables as per you (use .env.example file and rename it to .env)
-
Run the server
python3 application.py | flask run
- Navigate to the root folder
- Run
python -m pytest --disable-warnings
- Navigate to the root folder
- Run
python -m pytest --cov=./ --cov-report=xml
Adding single new category
python manage.py --name=<category_name>
Adding multiple new categories
python manage.py --name=<category1_name,category2_name,category3_name>
- Render: https://blogverse-dhh8.onrender.com/
- AWS: http://blogverse-env.eba-m3q4hiu7.us-east-1.elasticbeanstalk.com/
BlogVerse-Project-Demo.mp4
- High Level Design (HLD): HLD_BloggingWebsite.pdf
- Low Level Design (LLD): LLD_BloggingWebsite.pdf
- Architecture Design: Architechture_BloggingWebsite.pdf
- Wireframe Document: Wireframe_BloggingWebsite.pdf
- Detailed Project Report (DPR): DPR_BloggingWebsite.pdf
- Project Demo Video: https://youtu.be/8lv5jNUXcKQ?si=Ff1MIxzQMp9MBvj1
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
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.
This project is licensed under the MIT License