Skip to content

Zank4/CodeZilla-LearningSite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors