Skip to content

shubham-thakare/tech-blog

Repository files navigation

TechBlog

You can clone and customize this project to develop your own blog website using Python Django.

Set up project locally

Prerequisite

  1. Python 3.7
  2. PostgreSQL 10

Steps to configure and run the project

  1. Create a virtual environment.
  2. Initialise pre-commit hook:
    pip install pre-commit && \
    pre-commit install && \
    export LC_ALL=en_US.UTF-8; export LANG=en_US.UTF-8
  3. Install required packages:
    pip install -r requirements.txt
    pip install -r requirements.dev.txt
  4. Add .env file to the project you can refer .env.template.
  5. Make database migrations:
    1. Note: Create a DB (with same name that you have been added in the .env file) first in PostgreSQL before making migrations.
    ./manage.py makemigrations
    ./manage.py migrate
  6. Collect static files:
    ./manage.py collectstatic
  7. Create a super user to access Django Admin panel:
    ./manage.py createsuperuser
  8. Finally, run the project:
    ./manage.py runserver

Features/Modules

This project has various integrated features/modules:

  1. Website for Users
  2. Admin Interface
  3. Author Profiles
  4. CKEditor for Adding Blogs
  5. Blog Sharing on Social Media
  6. Comments Section for Blogs
  7. Blog Read Time Calculator
  8. Blog Search Engine
  9. Contact Us Page
  10. Email Notifier
  11. RSS Feed
  12. Sitemap
  13. SEO (Search Engine Optimization), etc.

References

  1. Freepik: Illustration vectors
  2. JS library: showdown for rendering md files
  3. Showdown demo
  4. Python Markdown package demo
  5. Django Book
  6. Migrations Issue
  7. CKEditor Docs
  8. Privacy Policy Generator

Please review the LICENSE file before using this project.