A simple django blog site with multilingual features and a chatbot using LLM for processing suitable response to users.
> 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/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
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