Learn2Code.js is Interactive Coding Learning that provides user to learn JavaScript
- Backend:
Django
- Frontend:
VueJS
(Instance) - Database:
SQLite
(DB file included for testing purpose) - Styling/CSS: Argon Design System by CreativeTim
- Javascript Intrepreter: Js2Py by Piotr Dabkowski
pip install -r requirements.txt
./manage.py runserver
Access 127.0.0.1:8000
or localhost:8000
(default Django development server) via browser
Account for testing:
url admin: 127.0.0.1:8000/admin/
username: pdso
password: practicaldso
The Admin User can do:
- Add new Lesson
- Create expected codes
- Add additional static assets (HTML, CSS, Javascript) *for Web Output
- Sort the lessons
- The Apps have 2 output type
- console output
- web output
- The
answer_code
need to click buttonRun
to validate theanswer_code
- If the code is running and correct, the Next button will be enabled and the user can take the next lesson.
- The answer code will be store/save in the
session
, as long as the user has clicked the buttonRun
So if the User leaves or closed the tab (browser), the rancode
will not be lost.
Code will validate and will send 3 message in popup notification:
- Code error
- Code run successful but incorrect based in expected answer
- Code run successful and correct based in expected answer, and the Next Button will be enabled.
In the console, the answer_code
will execute using Js2Py and the result
will validate, is the result is in the expected_answers
that Admin defines in Admin Page? If correct it will show notification no. 3
In the web output, the method uses to validate it based on answer_code
without compiling. So, if the code is in the expected_answers
it will correct.
In las lesson, if user corrected answer, then the next button still disabled because no next lesson
When all Lesson corrected, then all button for navigate to lesson will enabled