Milestone For GRU Admin Panel

I have started working on GRU’s admin panel.

This week (Till 5 September, Monday), these are the tasks I am planning to complete:

  1. Fix Database design/Schema
  2. Setup my-sql-driver, httpRouter(optional), directory structure.
  3. API for storing Question in database (Or for Storing User, Submission, Question’s Options if time permits)

Writing code won’t take much time, once the DB schema gets fixed.

Add up more things that can be taken care in this week. Let’s see how first week goes. Suggestion are welcomed.

1 Like

So, previous milestone could not be completed, since we moved from MySQL to Dgraph Database. So I invested time on learning about Graph Databases, GraphQL, Cypher, Dgraph, DgraphGoClient.

This week, I am planning to map Mysql Schema to the Dgraph and start writie code for it. Having few question regarding dgraph’s query, will ask on different thread.

2 Likes

Hey @Rahul-Sagore,

To keep things moving, you can skip learning about Cypher, we don’t use it. Regarding the schema, the one I’d mentioned above should mostly give you what you need. And as we need more things, we can expand on that.

We also have a pending issue that @ashwin95r is working on, to auto allocate new uids. So, my suggestion would be to start with some code and get your first PR into review – things can change considerably once people have a look, so there can be a lot of back and forth iteration, particularly on the initial PRs.

3 Likes

Yes, I am skipping cypher. I am finally working on schema that you have provided, made some changes to it. Updating thread. Will write code for add/modifying the question, it will help to make other features as well.

2 Likes

Quite a rough two weeks, got problems with dgraph response, parsing it, and debugging code for better solution.

I could not work on weekend due to unexpected travelling.

But the problem with response parsing have been fixed now, I have parsed the Dgraph response now.
Added API calls for storing basic properties for Question, Tags, Quiz. (Need to store relationship with each other)

@mrjn and @pawan have proposed to have a root for quiz and question, need to try this.

This week I’ll work for storing relationship and complete the above APIs and Candidate’s APIs for quiz.

@Rahul-Sagore Let’s try to complete the admin panel functionality with the UI for adding quiz question, options, answers and tags by this weekend.

1 Like

Yup, let’s try to do that.

1 Like

So the milestone is completed, and done some extra work too.

What is completed: Adding quiz question, options, answers and tags (Backend + UI)

Extra Work: Wrote backend for Updating too. But got errors for deleting the relationship (Like removing tags from question). The issue is same as : “After” argument can not parse uid Bug.

Milestone for this week:

  • There are known bugs related to UI (Tagging, form validations, Proper URL handling, better UX/design) which needs to be done.
  • Updation/deletion of Quiz/Question/Tags relationship (Problems with “Delete” query)
  • UI pagination with data (Problems with “After argument”).
  • Refactor Backend code.
  • Candidate Facing APIs for taking Quiz (Inviting user through email, authentication) or at least think through this.

I tried this @Rahul-Sagore. I don’t think we can call adding quiz qn as complete. Show all qns to me just shows the latest questions that was added. That is it just shows one qn to me which I added most recently. Did you try adding multiple questions? Where you able to see them in the Show All page?

We need to make the CRUD on questions robust before we can move to other things.

Yes, I tried, with multiple question. It is displaying all the question that was saved.

After adding question, you need to reload the “Show all” question page, It’s Single page application that’s why on changing url it did not hit the API. After reloading it will show all. This is the problem with “Proper URL” handling mentioned in above milestone.

Milestone completed

  • Fixed known bugs (Form Validation, Proper URL Handling)
  • Updation of Quiz and Questions, backend + UI.
  • Refactored Go api for updating and fetching quiz/question, restfully. Integrated Codemirror library for question text (Admin can now enter formatted text/code in question)
  • Candidate Invite. Listing of Candidates associated to a particular quiz. Updating Candidates information.(UI).
  • Login/Logout System. (User can not see admin panels without using authenticated username and password).
  • Refactored Angular’s code, wrote modular Angular Services for making API calls.

This Week’s Milestone:

  • Will fix more UI related bugs.
  • Need to change the “Update Question UI” due to CodeMirror textarea.
  • Need to implement paginaton for long lists.
  • Will work on Candidate Facing UI, for Quiz Taking.

Let us know when it’s ready to view. Might be good to get some early feedback.

Yeah, will deploy it soon.

Let’s deploy whatever is complete today. I will provision a instance and share details with you @Rahul-Sagore. It would definitely be useful to get some early feedback.

Sure. That would be great.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.