Skip to content

D-Yakubov/DjangoVueProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Project Title and Overview

  • A clear title for the LMS project (e.g., "LMS Platform - Django & Vue.js").
  • A brief description: "A full-stack Learning Management System with a Django backend and Vue.js frontend, designed to provide a platform for creating, managing, and taking online courses."

Features

Based on the project exploration (todo.txt, models, URLs):

  • User authentication (Sign up, Log in, Log out, My Account)
  • Course creation and management by instructors/authors (including draft, in-review, published states)
  • Course categories for organization
  • Public course listings and ability to browse/filter courses
  • Detailed course pages with lesson lists
  • Multiple lesson types: articles, videos (YouTube embedded), and quizzes
  • Tracking user progress through lessons (e.g., started, done)
  • Commenting system for lessons to facilitate discussion
  • Django admin panel for backend data management
  • RESTful API for frontend-backend communication

Technology Stack

  • Backend:
    • Python
    • Django
    • Django REST Framework
    • Djoser (for REST API authentication)
    • SQLite3 (default database)
  • Frontend:
    • JavaScript
    • Vue.js (v3 likely, given createRouter syntax)
    • Vuex (for state management)
    • Vue Router (for client-side routing)
  • Development/Other:
    • Git for version control
    • django-cors-headers for Cross-Origin Resource Sharing

Setup and Installation

Prerequisites

  • Python 3.x (ensure pip is available)
  • Node.js and npm (latest LTS version recommended)
  • Git

Backend Setup (lms_project)

  1. Clone the repository:
    git clone <repository_url>
    cd <repository_directory>
  2. Navigate to the backend directory:
    cd lms_project
  3. Create and activate a Python virtual environment:
    python -m venv venv
    # On Windows
    # venv\Scripts\activate
    # On macOS/Linux
    # source venv/bin/activate
  4. Install Python dependencies: (Note: A requirements.txt would be ideal. For now, list known major dependencies. If you can create a requirements.txt first, that would be better.)
    pip install Django djangorestframework djoser django-cors-headers Pillow
    Self-correction: Pillow is likely needed for ImageField.
  5. Apply database migrations:
    python manage.py migrate
  6. Create a superuser (optional, for admin access):
    python manage.py createsuperuser

Frontend Setup (lms_vue_project)

  1. Navigate to the frontend directory:
    # From the project root
    cd lms_vue_project
  2. Install Node.js dependencies:
    npm install

How to Run the Project

1. Run the Backend Server

  • Navigate to the lms_project directory.
  • Activate the virtual environment (if not already active).
  • Start the Django development server:
    python manage.py runserver
  • The backend will typically be available at http://127.0.0.1:8000.

2. Run the Frontend Server

  • Navigate to the lms_vue_project directory.
  • Start the Vue.js development server:
    npm run serve
  • The frontend will typically be available at http://localhost:8080.

Note: Both backend and frontend servers need to be running concurrently for the application to work correctly. The frontend makes API calls to the backend.

Project Structure

  • lms_project/: Contains the Django backend application.
    • course/: Django app for course and lesson management.
    • activity/: Django app for tracking user activity.
    • lms_project/: Main Django project configuration.
    • manage.py: Django's command-line utility.
    • db.sqlite3: SQLite database file (default).
  • lms_vue_project/: Contains the Vue.js frontend application.
    • src/: Main source code for the Vue app.
      • components/: Reusable Vue components.
      • views/: Page-level components.
      • router/: Vue Router configuration.
      • store/: Vuex store configuration.
    • public/: Static assets for the Vue app.
  • README.md: This file.

Contribution Guidelines

(Placeholder) We welcome contributions! Please follow these general guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes.
  4. Ensure your code follows the project's coding style (if specified).
  5. Write tests for your changes (if applicable).
  6. Submit a pull request with a clear description of your changes.

License

(Placeholder) This project is currently not licensed. Consider adding an OSI-approved license like the MIT License by creating a LICENSE file in the root of the project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •