Title: Database structure and API question
Last modified: September 10, 2019

---

# Database structure and API question

 *  Resolved [menathor](https://wordpress.org/support/users/menathor/)
 * (@menathor)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/)
 * Hi guys,
 * Tutor looks like a great alternative to the other LMS plugins out there. Just
   wondering if you use custom database tables to store courses, lessons, questions
   and answers etc? Or if everything is stored in as a CPT in wp_posts and wp_postmeta?
 * Also, do you have an API?
 * Cheers!
    -  This topic was modified 6 years, 7 months ago by [menathor](https://wordpress.org/support/users/menathor/).

Viewing 9 replies - 1 through 9 (of 9 total)

 *  [Md. Mehedi Hasan](https://wordpress.org/support/users/mehedih/)
 * (@mehedih)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-11921366)
 * Hi there,
 * Thanks a lot for considering Tutor LMS and contacting. All the courses, lessons,
   questions and answers, quiz etc are CPT and we have stored in the wp_posts table.
 * We have plans to add the API feature by mid-2020. Let me know if you have more
   queries.
 * Regards,
    Mehedi
 *  Thread Starter [menathor](https://wordpress.org/support/users/menathor/)
 * (@menathor)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-11921495)
 * Thanks for the quick reply!
 * Tutor looks and functions beautifully but it’s going to run into major performance
   problems on larger sites by storing everything in wp_postmeta. Easy Digital Downloads,
   Woocommerce etc. are all moving to custom tables to overcome this issue.
 * Would you consider implementing custom tables? Here’s an example of LearnDash’s
   table structure: [https://www.learndash.com/support/docs/developers/database-info/#custom_tables](https://www.learndash.com/support/docs/developers/database-info/#custom_tables)
 * Cheers
 *  [Md Hossain Shohel](https://wordpress.org/support/users/mhshohel/)
 * (@mhshohel)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-11924220)
 * Hello [@menathor](https://wordpress.org/support/users/menathor/)
 * I’m developer of Tutor LMS, describing you about database structure. We designed
   the best database structure for Tutor LMS to get the ultimate performance.
    We
   keeping data for course, lesson, topic, in the wp_posts table, below custom table
   is only for Tutor LMS lists is for
 * wp_tutor_earnings
    wp_tutor_quiz_attempts wp_tutor_quiz_attempt_answers wp_tutor_quiz_questions
   wp_tutor_quiz_question_answers wp_tutor_withdraws
 * Our every database query is optimized, No matters how much data, Tutor LMS can
   lift tons of data.
 * Best Regards
 *  [Md. Mehedi Hasan](https://wordpress.org/support/users/mehedih/)
 * (@mehedih)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-11924431)
 * Hi there,
 * I apologize for the misunderstanding. I had a long conversation with our developer
   team about the database and performance. We have designed the most reliable database
   structure for Tutor LMS to get the highest performance.
 * Now I’m trying to give you an overview of the database structure.
    We are keeping
   data for course, lesson, topic, in the wp_posts table to get URL support. And
   QA, rating in the wp_comments table. We have stored a small amount of data in
   the wp_postmeta table those are mandatory to put on the wp_postmeta. Also, we
   have split data to all database tables in the perfect way.
 * Here is the list of all custom tables dedicated for Tutor LMS:
 * wp_tutor_earnings
    wp_tutor_quiz_attempts wp_tutor_quiz_attempt_answers wp_tutor_quiz_questions
   wp_tutor_quiz_question_answers wp_tutor_withdraws
 * Two new database tables will add in this list after the GradeBook feature releasing.
 * Besides, all the database queries are well optimized. No matters how much data
   you have on your site, Tutor LMS can handle tons of data without any performance
   issue.
 * Let me know if you have more queries or any confusion.
 * Best Regards,
    Mehedi
 *  Thread Starter [menathor](https://wordpress.org/support/users/menathor/)
 * (@menathor)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-11925038)
 * Hi guys,
 * This is great to hear, thanks! Also could you provide some information about 
   REST API endpoints? Do you have any yet, and if not will you be adding them? 
   This is essential for developers to build mobile apps, do custom integrations
   etc.
 * Cheers 🙂
 *  [Md. Mehedi Hasan](https://wordpress.org/support/users/mehedih/)
 * (@mehedih)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-11936367)
 * Hi there,
 * I apologize for the delay. Glad to know that you are happy with the database 
   structure. We don’t have an API right now. Hopefully, we will able to complete
   the API in mid-2020.
 * Thanks
 *  [aftab15](https://wordpress.org/support/users/aftab15/)
 * (@aftab15)
 * [6 years, 2 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-12424961)
 * Is it possible to build a system where there must be 3 dashboards
    1.centers (
   different Institutes/classes) 2.instructor 3.student
 * And only centers can be given permission to add/view/remove students and instructors.
 * Student/instructors cannot enroll themselves or others.
 * As a admin I can enroll centers with a paid registration.
 * Free courses will be provided by us for students and instructors.
 * so as per now using tutor lms i can have students and instructors dashboard but
   I’am missing centers dashboard and also centers can only acces their own enrollments(
   students/instructor) and cannot view other centers data(like different branches).
 *  [Md. Mehedi Hasan](https://wordpress.org/support/users/mehedih/)
 * (@mehedih)
 * [6 years, 2 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-12430934)
 * Hi there,
 * Thanks a lot for considering Tutor LMS and contacting us. I’m sorry to inform
   you that we don’t have an option (don’t have a plan too) to add another dashboard
   for centers. We always try to bring new features that are requested by a bigger
   number of users. We think this is not going to be a required feature for most
   of our users.
 * That’s why it will be better for you and us if you can customize Tutor LMS and
   develop a platform as per your requirements. We have followed the standard and
   meaning full coding practice. So that a developer will understand the code and
   extend functionalities are per their requirements.
 * We appreciate your cooperation.
 * Regards,
    Mehedi
 *  [alexbacarella](https://wordpress.org/support/users/alexbacarella/)
 * (@alexbacarella)
 * [5 years, 9 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-13100328)
 * [@mehedih](https://wordpress.org/support/users/mehedih/) any updates on the api?

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Database structure and API question’ is closed to new replies.

 * ![](https://ps.w.org/tutor/assets/icon-256x256.gif?rev=3193875)
 * [Tutor LMS - eLearning and online course solution](https://wordpress.org/plugins/tutor/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/tutor/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/tutor/)
 * [Active Topics](https://wordpress.org/support/plugin/tutor/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/tutor/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/tutor/reviews/)

## Tags

 * [lms](https://wordpress.org/support/topic-tag/lms/)

 * 9 replies
 * 3 participants
 * Last reply from: [alexbacarella](https://wordpress.org/support/users/alexbacarella/)
 * Last activity: [5 years, 9 months ago](https://wordpress.org/support/topic/database-structure-and-api-question/#post-13100328)
 * Status: resolved