Skip to content

natcobbinah/Django_BlogMultiLingual

Repository files navigation

MULTILINGUAL DJANGO BLOG SITE

A simple django blog site with multilingual features and a chatbot using LLM for processing suitable response to users.

Features

>   Multilanguage support; supported currently (french and english)

>   Chat-gpt integration, for chat-bot functionality support using 
    Websocket consumers and appropriate routing, with an implemented
    Websocket client

>   Pagination support for viewing list of posts currently available

>   CRUD functionality support for posts

>   Search functionality for posts using its attributes

*   Uses channels to serve project through Asynchronous Server Gateway Interface (ASGI)

Hosted app on heroku (have deleted postgresDB INSTANCE bcos of recurring cost, so run the app locally and test out features

https://multisite-django-app-d49cbac60017.herokuapp.com/en/

https://multisite-django-app-d49cbac60017.herokuapp.com/en/admin login to admin dashboard, so user instance becomes available for creating and editing posts, else only (viewing of posts, chatbot and search functionalities) operations can be performed

username: <contact me via email at [email protected] for admin dashboard username> password: <contact me via email at [email protected] for admin dashboard password>

https://multisite-django-app-d49cbac60017.herokuapp.com/en/rosetta UI interface to help editing of localization strings for internationalization

Running app locally

1. Clone app from github

2. cd to app directory and activate the python  virtual environment (.venv)
   > python -m venv .venv
   > .venv/Scripts/activate (on windows)

3. pip install -r requirements.txt

[NOTE]: Since (.env) file containing api-keys and other projects settings is 
added to (.gitignore), you'll need to *manually* create a (.env) file in the 
base root of the cloned project directory, and add the following variables:

   SECRET_KEY= <generate secret key using python shell>
   > python manage.py shell
   > import secrets
   > print(secrets.token_urlsafe())
   > copy secrets and substitute in place of <generate secret key using python shell>

   DATABASE_URL_LOCAL = sqlite:///db.sqlite3
   OPENAI_SECRET_KEY = <contact me via email at [email protected] to send apikey to test chatbot using chatgpt>
   ADMIN_NAME = Nathaniel_Cobbinah
   ADMIN_EMAIL = [email protected]

4. python manage.py migrate

5. python manage.py createsuperuser

6. python manage.py runserver

7. append /admin at the end of the browser URL, to login to the admin dashboard,
that is because the (post model) uses a user object property, which after logging in
can be retrieved using (request.user)

7. Navigate and test app features

Sample Screenshots from App Locally Served

Homepage (en) blog site homepage 1

blog page homepage 2

Homepage (fr) blog site hompepage 1 fr

Create Post create new post

Read post read post in detail

Edit read post edit read post

alert toast

Searching Search by post title search for post by title

Search by content search for post by content

Chatbot usage gpt-integration

gpt-chatbot

chatbot players of all time

Sample Screenshots from App Accessed Remoted hosted on Heroku

on heroku - post created

on heroku - post updated

on heroku chatbot working successfully

About

A simple django blog site with multilingual features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published