Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 CodeZilla-LearningSite

An AI-powered web-based programming learning platform built with Django, supporting three user roles:
πŸ‘€ Administrators, πŸŽ“ Learners, and πŸ‘€ Visitors.


πŸš€ Features

πŸ‘‘ 1. Administrator (Admin)

Admins have full control over the system:

  • πŸ” Log in with admin privileges.
  • πŸ“š Manage courses (add, update, delete).
  • πŸ“„ Manage lessons and πŸ§ͺ test cases.
  • πŸ‘₯ Manage user accounts.

πŸ‘€ 2. Guest Users

Unauthenticated users (guests) can:

  • πŸ“ Register for a new account.
  • πŸ” Search and view available courses and lesson lists.

πŸŽ“ 3. Learners

Registered users can:

  • πŸ” Log in, reset/change password, and view personal profile.
  • πŸ“˜ Search and access courses and lessons.
  • πŸ€– Ask lesson-related questions to an AI chatbot for quick explanations.
  • πŸ’» Write, run, and submit code to get real-time evaluation feedback.

βš™οΈ 4. System Requirements (Non-Functional)

  • ⚑ Fast and accurate code execution/submission processing.
  • πŸ” Secure handling of user data and learning results.
  • πŸ€– Smooth chatbot response with minimal delay.
  • πŸ–₯️ Clean, intuitive, and beginner-friendly interface.

πŸ“Έ Screenshots

[Home Page] image

[Search Page] image

[Sign up Page] image

[Login Page] image

[Password Reset Page] image

[An email containing the link has been sent when reset password] image

[User Information Page] image

[Password change Page] image

[List Exercise Page] image

[Exercise Page] image image

[submission and a correct solution] image [submission and a fail solution] image

[Ask AI Assistant] image


πŸ› οΈ Getting Started

πŸ“¦ Prerequisites

πŸ’» 1. Visual Studio Code

  • Version: 1.101.2 or later

🐍 2. Python

  • Version: 3.11.4 or later

🌐 3. Django

  • Version: 5.1.7 or later

πŸ“š 4. Python Libraries

  • Install via pip:
pip install django==5.1.7 tinymce openai==0.28 python-dotenv
Includes:
  • πŸ“ tinymce – for rich text input

  • πŸ€– openai – to call OpenRouter API (v0.28)

  • πŸ” python-dotenv – load environment variables from .env file

🐳 5. Docker (for secure code execution)

  • Docker Desktop for Windows (version 28.1.1 or later)

  • Build Docker image:

docker build -t python-runner .

Run this in the folder where Dockerfile is located.


⚑ Quick Setup

⬇️ 1. Clone the Repository

git clone https://github.com/Zank4/CodeZilla-LearningSite.git
cd CodeZilla-LearningSite

πŸ”‘ 2. Configure API Key

  • Get a free API Key from OpenRouter.ai

  • Recommended model: deepseek/deepseek-r1-0528-qwen3-8b:free

  • In the root directory (where manage.py is), create a file named .env with:

OPENROUTER_API_KEY="your_api_key_here"

πŸ”‘ 3. Create an app password to enable automatic email sending via SMTP.

  • Go to https://myaccount.google.com/security.

  • Under "Signing in to Google", enable 2-Step Verification.

  • Once enabled, click on App passwords.

  • Select Mail as the app and Other, name it e.g. β€œDjango”.

  • Click Generate to get a 16-character app password.

  • Copy and use it as EMAIL_HOST_PASSWORD in the settings.py file inside the MySite folder.

EMAIL_HOST_USER = 'your_email@gmail.com'
EMAIL_HOST_PASSWORD = 'your_app_password'

πŸ—ƒοΈ 4. Setup Database

python manage.py makemigrations
python manage.py migrate

πŸ‘€ 5. Create Admin User

python manage.py createsuperuser

▢️ 6. Run the Web Application

  • Make sure Docker Desktop is running

  • Start the server:

python manage.py runserver
Then visit: http://127.0.0.1:8000

πŸ“– Documentation Reference


πŸ“¬ Contact

About

A website that helps you learn programming, integrated with an AI chatbot assistant (Deepseek). So far, this website only supports learning Python programming language

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages