diff --git a/README.md b/README.md index 1064f58c..2fafd774 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,18 @@ Web platform for Physics Assigments System. This is the README file for the Dr_R web application built using Django. The application is designed to provide different functionalities for students (Deimos), instructors (Phobos), and general users (Astros). +### Distinctiveness and Complexity +"It’s different from the other projects and it was complex to build." Haha + +Jokes aside, it is a *physics* learning management system which differs a lot from other projects because of functionalities like comparing algebraic expressions and units; dynamic question creation page which acts as a GUI compiler that has to test various user input and take care of different formats like floats, multiple choice questions, latex equation, variables etc; +a semantic search engine; etc etc + +### Files +One of the submission requirements was to explain what is in every file I created but this project is relatively huge compared to previous projects, so I created a separate md file for essential documentation. Filename: documentation.md + +## PreRequisites +Having Python installed on your machine and your PATH environment variable having a path to your Python's Scripts folder. + ## Installation 1. Clone the repository: @@ -21,7 +33,7 @@ cd Dr_r python3 -m venv venv ``` -4. Activate the virtual environment +4. Activate the virtual environment (skip if you skipped step 3) a. On macOS and Linux: ```bash source venv/bin/activate @@ -48,6 +60,19 @@ python manage.py runserver ``` Then copy and paste the url from the terminal to your browser. +### NOTE +- MAC users: I have not tested those instructions on MAC, so I recommend that you skip setting up a +virtual environment if the command does not work (skip step 3 and 4). +- Window users: if the command at step 3 does not work for you, just skip it. Or use "python" instead of + "python3." + +### Testing +In case you want to test without having to create accounts, courses, etc, don't worry. A copy +of the site is running at https://mars-valpo.com. You can use the following credentials: +- Instructor test account: email - arielfayol1@gmail.com, password - ernestodelaCruz23789 +- Student test account: email - fayol.ateufackzeudom@valpo.edu, password - ernestodelaCruz23789 + +# CS50W, CS50AI, THANK YOU! Please Launch a real AI (computer vision preferably) and/or SOFTWARE DEV Course. ## Impressive Features @@ -71,13 +96,10 @@ Then copy and paste the url from the terminal to your browser. ### Phobos (Instructor Interface) -- Instructors can manage courses. -- Create, edit, and delete courses. -- Assign professors to courses. -- Add topics and subtopics to courses. +- Instructors can create and manage courses. - Create assignments with different categories (quiz, homework, practice test). - Add questions to assignments, with various answer types (float, variable float, expression, etc.). -- Set due dates for assignments. +- Set/extend due dates for assignments. - Assign weights to questions for grading purposes. - View student progress and grades. @@ -107,7 +129,7 @@ If you encounter a bug in the application or have a feature request, please [ope ## Contact -If you have any questions or need assistance, feel free to reach out to the project maintainers or open a discussion in the repository. +If you have any questions or need assistance, feel free to reach out to the project maintainers (317-720-7186, arielfayol1@gmail.com) or open a discussion in the repository. ## License diff --git a/deimos/views.py b/deimos/views.py index 3a3bc3c2..2f25ba51 100644 --- a/deimos/views.py +++ b/deimos/views.py @@ -388,7 +388,7 @@ def validate_answer(request, question_id, landed_question_id=None,assignment_id= # carrying the submission over attempt.units_success = True attempt.submitted_units = last_attempt.submitted_units - elif not units_too_many_attempts: + elif not units_too_many_attempts and units: # Checking whether submitted units are correct. submitted_units = data["submitted_units"] units_correct = compare_units(units, submitted_units) diff --git a/media/phobos/images/question_images/circuit_AvjQTfL.png b/media/phobos/images/question_images/circuit_AvjQTfL.png new file mode 100644 index 00000000..03bdd782 Binary files /dev/null and b/media/phobos/images/question_images/circuit_AvjQTfL.png differ diff --git a/media/phobos/images/question_images/circuit_Ay0aEdo.png b/media/phobos/images/question_images/circuit_Ay0aEdo.png new file mode 100644 index 00000000..03bdd782 Binary files /dev/null and b/media/phobos/images/question_images/circuit_Ay0aEdo.png differ diff --git a/media/phobos/images/question_images/circuit_eMj1V7x.png b/media/phobos/images/question_images/circuit_eMj1V7x.png new file mode 100644 index 00000000..03bdd782 Binary files /dev/null and b/media/phobos/images/question_images/circuit_eMj1V7x.png differ diff --git a/media/phobos/images/question_images/circuit_wTWAjVY.png b/media/phobos/images/question_images/circuit_wTWAjVY.png new file mode 100644 index 00000000..03bdd782 Binary files /dev/null and b/media/phobos/images/question_images/circuit_wTWAjVY.png differ diff --git a/phobos/scripts/create_mcq_questions_from_pdfs.py b/phobos/scripts/create_mcq_questions_from_pdfs.py index 20e46d63..483eae53 100644 --- a/phobos/scripts/create_mcq_questions_from_pdfs.py +++ b/phobos/scripts/create_mcq_questions_from_pdfs.py @@ -1,6 +1,9 @@ import re, os import PyPDF2 from phobos.models import Question, MCQTextAnswer, QuestionChoices, Course, Assignment +""" +Script to parse pdfs and create question bank +""" def run(): def extract_text_from_pdf(pdf_path):