/Bona-Blog

An Open-Source Blogging Platform

Primary LanguageJavaScriptMIT LicenseMIT

Bona Blog

An Open-Source Web Blogging platform built with Python and Django.

GitHub license GitHub stars GitHub forks GitHub issues

Table of contents

General info

An Open-Source blogging platform like Medium and Real Python built with Python and Django. It has features of a standard blogging platform.

Django Package or App

This project has been converted into a django package. You can install it from PyPI or its GitHub Repo.

Screenshots

Authors Dashboard Page
Screenshot_2020-06-25 Bona Dashboard Home
Create Article Page
Screenshot_2020-06-26 Bona Dashboard Create Article(2)
Authors Profile Details Page
Screenshot_2020-06-25 Bona Dashboard Profile Details
Home Page List of Categories Page
Home Categories List
Category Articles List Page Author Articles List Page
Category Article List Author Articles
Article Detail Page
Screenshot_2020-11-22 BONA Django CKEditor installation Testing

Features

  • Mobile App Version
  • Dashboard for Authors
  • WYSIWYG Editor
  • Account Verification
  • Author Login
  • Author Password Reset
  • API for Clients
  • Category List
  • Category Articles List
  • New Category Submission
  • Related Articles
  • Comments
  • Articles Search
  • Article Social Media Share
  • Article Minute Read
  • Article Number of Words
  • Article Number of Views
  • Article Tags
  • Tag Related Articles
  • Markdown Support
  • Responsive on all devices
  • Pagination
  • Clean Code
  • 90% test coverage

Technologies

  • Python 3
  • Javascript
  • Jquery
  • PrismJS
  • Django 3
  • HTML5
  • CSS3
  • Bootstrap 4
  • Ion Icons
  • Font awesome
  • CKEditor
  • SQLite
  • PostgreSQL

Setup

To run this app, you will need to follow these 3 steps:

1. Requirements

  • a Laptop

  • Text Editor or IDE (eg. vscode, PyCharm)

  • Git installed on your Laptop.

2. Install Python and Pipenv

3. Local Setup and Running on Windows, Linux and Mac OS

# Clone this repository into the directory of your choice
$ git clone https://github.com/Williano/Bona-Blog.git

# Move into project folder
$ cd Bona-Blog

# Install from Pipfile
$ pipenv install

# Activate the Pipenv shell
$ pipenv shell

# Create database tables
(Bona-Blog-XXXX) $ python manage.py migrate

# Create superuser account
(Bona-Blog-XXXX) $ python manage.py createsuperuser

# Start server
(Bona-Blog-XXXX) $ python manage.py runserver

# Copy the IP address provided once your server has completed building the site. (It will say something like >> Serving at 127.0.0.1....).

# Open the address in the browser
>>> http://127.0.0.1:XXXX

# Login into Dashboard and write articles
>>> http://127.0.0.1:8000/author/dashboard/home/

# Django Admin
>>> http://127.0.0.1:XXXX/admin/

# Run Tests
$ python manage.py test blog.tests

Status

Project is: in progress

Inspiration

This project is based on the goal of improving my skills as a Software Engineer and the best way to improve is by building projects. I wanted to gain a deeper understanding of Django and Object-oriented programming in Python whiles I also contribute to the open-source community at the same time. I have learnt different technologies for the project and I keep on learning new skills as I add new features to the project.

Contact

Created by Williano - feel free to contact me!

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

Contributing

  1. Fork it (https://github.com/Williano/Bona-Blog.git)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request