معرفی شرکت ها


eLearning-0.0.5


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

eLearning is an API dedicated to managing the backend infrastructure of an e-learning system.
ویژگی مقدار
سیستم عامل -
نام فایل eLearning-0.0.5
نام eLearning
نسخه کتابخانه 0.0.5
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Ivan Y. Fernandez-Rosales
ایمیل نویسنده ifdezr@gmail.com
آدرس صفحه اصلی https://github.com/Ivanfdezr/DACODES-CHALLENGE
آدرس اینترنتی https://pypi.org/project/eLearning/
مجوز -
# eLearning API Documentation eLearning is an API dedicated to managing the backend infrastructure of an e-learning system. eLearning is totally developed with Python 3.6+ and the data storing is a MongoDB implementation through the third-party API pymongo 3.9.0. ## Installation Assuming, Python 3 (>=3.6) is already installed and a [MongoDB](https://www.mongodb.com/) Cluster connection is working, eLearning API needs the next requirements: 1. [pymongo 3.9.0](https://api.mongodb.com/python/current/). Or, it can be easily installed with: ``` $ python -m pip install pymongo ``` 2. [dnspython](https://pypi.org/project/dnspython/). Or, it can be easily installed with: ``` $ python -m pip install pymongo[srv] ``` 3. [pip](https://pip.pypa.io/en/stable/installing/). Or, it can be easily installed with: ``` $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ python get-pip.py ``` 4. Install with: ``` $ pip install eLearning ``` 5. Import and hello-world: ``` import eLearning as el elc = el.eLearning_connector() print(elc.client) print(elc.db) print(elc.db.list_collection_names()) elc._tabula_rasa() elc.insert_professor( 'Paul Erdős', 'erdos@princeton.edu' ) elc.insert_student( 'Terence Tao', 'tao@princeton.edu' ) ``` ___ ## Testing To test the API, please try the next lines at your Python command-line interface: import eLearning as el el.eLearning_test.run() ___ ## eLearning API documentation ### Connector level operations _class **eLearning_connector** ( )_ An eLearning_connector is the object used to communicate with MongoDB cluster and databases. eLearning_connector object has the next attributes: * eLearning_connector.**client** : informative dictionary about the connector. * eLearning_connector.**db** : informative dictionary about the database. * eLearning_connector.**course_collection** : MongoDB collection object with the courses information. * eLearning_connector.**lesson_collection** : MongoDB collection object with the lessons information. * eLearning_connector.**question_collection** : MongoDB collection object with the questions information. * eLearning_connector.**binnacle_collection** : MongoDB collection object with the binnacles information. * eLearning_connector.**record_collection** : MongoDB collection object with the records information. * eLearning_connector.**user_collection** : MongoDB collection object with the users information. ___ _eLearning_connector.**insert_professor** ( fullname, email )_ > Return the tuple `('200 - OK',"")` if the professor-user with given _fullname_ and _email_ was inserted successfully in the database. Otherwise, return `('409 - Conflict',"Insertion error.")`. _eLearning_connector.**insert_student** ( fullname, email )_ > Return the tuple `('200 - OK',"")` if the student-user with given _fullname_ and _email_ was inserted successfully in the database. Otherwise, return `('409 - Conflict',"Insertion error.")`. _eLearning_connector.**delete_user_by_email** ( email )_ > Return the tuple `('200 - OK',"")` if the user with given _email_ was deleted successfully from the database. Otherwise, return `('409 - Conflict',"Deletion error.")`. _eLearning_connector.**get_user_by_email** ( email )_ > Return a _class **eLearning_professor**_ instance if the given _email_ results of a professor-user. Return a _class **eLearning_student**_ instance if the given _email_ results of a student-user. Otherwise, return `None`. _eLearning_connector.**list_professors** ()_ > Return a Python _list_ object with all existing professor-user documents, each document is arranged into a Python _dict_ object. If there are not professor-users in database, an empty list is returned. _eLearning_connector.**list_students** ()_ > Return a Python _list_ object with all existing student-user documents, each document is arranged into a Python _dict_ object. If there are not student-users in database, an empty list is returned. _eLearning_connector.**list_courses** ()_ > Return a Python _list_ object with all existing course documents, each document is arranged into a Python _dict_ object. If there are not courses in database, an empty list is returned. _eLearning_connector.**list_lessons** ( parent_course_code )_ > Return a Python _list_ object with all associated lesson documents to a given _parent_course_code_, each document is arranged into a Python _dict_ object. If there are not such lessons in database, an empty list is returned. _eLearning_connector.**list_questions** ( parent_lesson_code )_ > Return a Python _list_ object with all associated question documents to a given _parent_lesson_code_, each document is arranged into a Python _dict_ object. If there are not such questions in database, an empty list is returned. ___ ### User level operations _class **eLearning_professor** ( )_ An eLearning_professor instance corresponds to the valid professor-users' attributes and methods: * eLearning_professor.**fullname** :`<str>` Fullname of the user. * eLearning_professor.**email** : `<str>` e-mail address of the user. * eLearning_professor.**role** : `<str>` it always set as "professor". ___ _eLearning_professor.**create_course** ( title, code, description=`None`, required_course_code=`None` )_ > Parameters : > * _title_: `<str>` Customized title for the course. > * _code_: `<str>` Customized code for the course. > * _description_: `<str>` Description of the course. > * _required_course_code_: `<str>` Code of required approved-course. > Return the tuple `('200 - OK',"")` if the course with given parameters was created successfully in the database. Otherwise, return `('400 - Bad Request',"Course's code already exists.")` , `('404 - Not Found',"Required-course's code not found.")` or `('409 - Conflict',"Insertion error.")`. _eLearning_professor.**create_lesson** ( title, code, content, parent_course_code, approval_score=`1.0`, required_lesson_code=`None` )_ > Parameters : > * _title_: `<str>` Customized title for the lesson. > * _code_: `<str>` Customized code for the lesson. > * _content_: `<str>` Description of the lesson. > * _correct_answers_: `<list>` List of the correct answer labels (`<str>`). > * _parent_course_code_: `<str>` Code of the parent-course. > * _approval_score_: `<float>` Floating number between `0.0` (minimal score) and `1.0` (maximal score). > * _required_lesson_code_: `<str>` Code of required approved-lesson. > Return the tuple `('200 - OK',"")` if the lesson with given parameters was created successfully in the database. Otherwise, return `('400 - Bad Request',"Lesson's code already exists.")` , `('404 - Not Found',"Required-lesson's code not found.")` , `('404 - Not Found',"Parent-course's code not found.")` or `('409 - Conflict',"Insertion error.")`. _eLearning_professor.**create_question** ( code, mode, content, correct_answers, parent_lesson_code )_ > Parameters : > * _code_: `<str>` Customized code for the question. > * _mode_: `<str>` "Bool","MC1A","MCMA\+","MCMA\*" only. > * _content_: `<str>` Description of the question. > * _correct_answers_: `<list>` List of option labels. > * _parent_lesson_code_: `<str>` Code of the parent-course. > Return the tuple `('200 - OK',"")` if the question with given parameters was created successfully in the database. Otherwise, return `('400 - Bad Request',"Invalid question mode.")` , `('400 - Bad Request',"Answers have to be a list of strings.")`, `('404 - Not Found',"Parent-lesson's code not found.")` or `('409 - Conflict',"Insertion error.")`. _eLearning_professor.**list_courses** ( )_ > Return the Python object _list_ with all current courses. _eLearning_professor.**read_course** ( code, full=`False` )_ > Parameters : > * _code_: `<str>` Code of the course. > * _full_: `<bool>` `False` or `True`. > Return the Python object _dict_ with the given course attributes at creation time. Moreover, if _full_ is set to `True`, the information of all subscribed lessons and questions will be included. _eLearning_professor.**read_lesson** ( code, full=`False` )_ > Parameters : > * _code_: `<str>` Code of the lesson. > * _full_: `<bool>` `False` or `True`. > Return the Python object _dict_ with the given lesson attributes at creation time. Moreover, if _full_ is set to `True`, the information of all subscribed questions will be included. _eLearning_professor.**read_question** ( code )_ > Parameters : > * _code_: `<str>` Code of the question. > Return the Python object _dict_ with the given question attributes at creation time. _eLearning_professor.**update_course** ( code, \*\*kwards )_ > Parameters : > * _code_: `<str>` Code of the course. > * _\*\*kwards_: `<dict>` Dictionary with the attributes to update for the given course. > Return an integer with the count of modified attributes. _eLearning_professor.**update_lesson** ( code, \*\*kwards )_ > Parameters : > * _code_: `<str>` Code of the lesson. > * _\*\*kwards_: `<dict>` Dictionary with the attributes to update for the given lesson. > Return an integer with the count of modified attributes. _eLearning_professor.**update_question** ( code, \*\*kwards )_ > Parameters : > * _code_: `<str>` Code of the question. > * _\*\*kwards_: `<dict>` Dictionary with the attributes to update for the given question. > Return an integer with the count of modified attributes. _eLearning_professor.**delete_course** ( code, \*\*kwards )_ > Parameters : > * _code_: `<str>` Code of the course. > Return an integer with the count of deleted objects. _eLearning_professor.**delete_lesson** ( code, \*\*kwards )_ > Parameters : > * _code_: `<str>` Code of the lesson. > Return an integer with the count of deleted objects. _eLearning_professor.**delete_question** ( code, \*\*kwards )_ > Parameters : > * _code_: `<str>` Code of the question. > Return an integer with the count of deleted objects. ___ _class **eLearning_student** ( )_ An eLearning_student instance corresponds to the valid student-users' attributes and methods: * eLearning_student.**fullname** :`<str>` Fullname of the user. * eLearning_student.**email** : `<str>` e-mail address of the user. * eLearning_student.**role** : `<str>` it always set as "student". * eLearning_student.**score** : `<float>` Main score. ___ _eLearning_student.**get_record_summary** ( )_ > Return a Python object _list_ with informative _dict_ about the type, code, status, score and datetime of all courses and lessons taken by the student. _eLearning_student.**list_courses_and_availability** ( )_ > Return a Python object _list_ with all current courses. Every course is represented by an informative _dict_, where the key `'available'` indicate with `True`, whether the course is available for the student or with `False` otherwise. _eLearning_student.**list_lessons_and_availability** ( parent_course_code )_ > Parameters : > * parent_course_code: `<str>` Code of the parent-course. > Return a Python object _list_ with all current lessons. Every lesson is represented by an informative _dict_, where the key `'available'` indicate with `True`, whether the lesson is available for the student or with `False` otherwise. _eLearning_student.**get_full_lesson** ( code )_ > Parameters : > * code: `<str>` Code of the claimed lesson. > Return a Python object _dict_ with the claimed lesson information and its subscrited questions. _eLearning_student.**take_lesson** ( code, answers_list )_ > Parameters : > * code: `<str>` Code of the taken lesson. > * answer_list: `<list>` List with lists of the correct answers labels; _e.g._ `[['A','C'],['A'],[True]]`. > Return a Python object _dict_ resuming the score, status of the taken lesson and the parent-course status whether was approved.


زبان مورد نیاز

مقدار نام
>=3.6 Python


نحوه نصب


نصب پکیج whl eLearning-0.0.5:

    pip install eLearning-0.0.5.whl


نصب پکیج tar.gz eLearning-0.0.5:

    pip install eLearning-0.0.5.tar.gz