ODK-X: New Date Prompts for ODK-X Survey

About Me

Hey all, my full name is Chukwuemeka Okechukwu but Emeka for short. I am from Nigeria but live in Ghana. I’m also a fourth-year undergraduate from Ashesi University studying Computer Science. This is my first time participating in GSoC and thank you for the opportunity. Finally, I can live on bread alone.

About My Project

The goal of this project is to include more prompt types in the ODK-X Survey application and ensure they are compatible with the ODK-X XLSX Converter. I plan to accomplish the implementation of the month only, year only, month and year only, and non-Gregorian calendars prompt for users to choose from.

My Time Zone

(Ghana, Africa), UTC +0.

Getting in Touch

Email Address: chuks.egkedu@gmail.com
GitHub: emeka-okechukwu-dev
LinkedIn: my linkedIn profile

Week 1: 17 May - 23 May

  • Introduced myself with my project mentors @jeff.beorse and Albert Chae.
  • Shared preferred meeting times and project plans with both mentors.
  • Gained an understanding of the community’s working culture.
  • Revisited the codebase of the application designer.

Week 2: 24 May - 30 May

  • Arranged weekly meetings with both mentors.
  • Continued going through the codebase of the application designer including but not limited to prompt.js and XLSXConverter2.js.
  • Mapped out how to implementing date prompts ahead of the official first coding phase.

Week 3: 31 May - 7 May

  • Had first weekly meeting with project mentors where we introduced ourselves again and went through some questions I had. We also went through how the code will be implemented more thoroughly.
  • Had first weekly meeting with GSoC mentors and mentees where we introduced ourselves and the backstory of ODK-X. We also looked at an app design created by a mentee. Finally, mentors answered some questions we the mentees had for them.
  • Went through how the codes will be submitted.

Week 4: 7 June - 13 June

Past Week Accomplishment

Upcoming Week’s Plan

  • Review and approval of the three new date prompt types by mentors.
  • Perform unit testing on the three new date prompt types.
  • Start implementing new non-Gregorian prompt type handlebars.

Where I am Stuck At

Not stuck at the moment.

1 Like

Week 5: 14 June - 20 June

Past Week Accomplishment

  • Performed unit testing on the three new date prompts.
  • Pull request for the three new date prompts were accepted.
  • Had non-Gregorian calendar datepicker approved by mentors.
  • Started implementing non-Gregorian prompt type handlebars.

Upcoming Week’s Plan

  • Finish implementing non-Gregorian prompt type handlebars.
  • Start integrating each non-Gregorian calendar with the current ODK-X Survey Environment.

Where I am Stuck At

Not stuck at the moment.

1 Like

Week 6: 21 June - 27 June

Past Week Accomplishment

  • Partially finished implementing non-Gregorian prompt type handlebars (yet to confirm if they are working with the application).

Upcoming Week’s Plan

  • Confirm if implemented non-Gregorian prompt type handlebars are working with the application.
  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment.

Where I am Stuck At

Not stuck at the moment.

1 Like

Week 7: 28 June - 4 July

Past Week Accomplishment

  • Partially completed the implementation of the non-Gregorian prompt type handlebars and integrating them with the current ODK-X Survey Environment.

Upcoming Week’s Plan

  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment.
  • Update XLSXConverter2.js to work with the new non-Gregorian prompt types.

Where I am Stuck At

Not stuck at the moment.

Week 8: 5 July - 11 July

Past Week Accomplishment

  • Implemented the non-Gregorian prompt type handlebars.

Upcoming Week’s Plan

  • Complete the GSoC evaluation form.
  • Document the implementation of the three new date prompts.
  • Solve non-Gregorian calendar datepicker libraries importing/loading error.
  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment and updating XLSXConverter2.js to work with the new non-Gregorian prompt types.

Where I am Stuck At

Libraries from the non-Gregorian calendar datepicker are not appropriately imported/loaded into the application. I have shared the details with my mentors and currently working to resolve it.

Week 9: 12 July - 18 July

Past Week Accomplishment

  • Completed the GSoC evaluation form.
  • Documented the implementation of the three new date prompts - not the official documentation, just noted the changes in a draft.
  • Solved non-Gregorian calendar datepicker libraries importing/loading error.

Upcoming Week’s Plan

  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment and updating XLSXConverter2.js to work with the new non-Gregorian prompt types (hopeful to finalize by this week).

Where I am Stuck At

Not stuck at the moment.

1 Like

Week 10: 19 July - 25 July

Past Week Accomplishment

  • Documented the implementation of the non-Gregorian calendar date prompts - not the official documentation, just noted the changes in a draft.
  • Solved a formatting issue with how a prompt was reloaded into the from.

Upcoming Week’s Plan

  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment and updating XLSXConverter2.js to work with the new non-Gregorian prompt types. More specifically, store the non-Gregorian date as Gregorian UTC in the database and reload it to the survey in the non-Gregorian calendar format.

Where I am Stuck At

Not stuck at the moment.

1 Like

Week 11: 26 July - 1 August

Past Week Accomplishment

  • Continued integrating each non-Gregorian calendar with the current ODK-X Survey Environment such that the new prompt would inherit an existing prompt and override the functions needed to save the value in a given format.
  • Set up the environment to get started with testing with Jest.

Upcoming Week’s Plan

  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment and updating XLSXConverter2.js to work with the new non-Gregorian prompt types. More specifically, store the non-Gregorian date as Gregorian UTC in the database and reload it to the survey in the non-Gregorian calendar format.
  • Continue testing with Jest.

Where I am Stuck At

Not stuck at the moment.

Week 12: 2 August - 8 August

Past Week Accomplishment

  • Integrated a Ethiopian calendar prompt with ODK-X Survey Environment and updated its XLSXConverter2.js such that it is saved as Gregorian UTC in the database and reloaded to the survey in the non-Gregorian calendar format.

Upcoming Week’s Plan

  • Continue integrating each non-Gregorian calendar with the current ODK-X Survey Environment and updating XLSXConverter2.js to work with the new non-Gregorian prompt types. More specifically, store the non-Gregorian date as Gregorian UTC in the database and reload it to the survey in the non-Gregorian calendar format.
  • Start with the official documentation of the implemented date and non-Gregorian calendar prompts.

Where I am Stuck At

Not stuck at the moment.

Other

  • On hold with testing with Jest for now.

Week 13: 9 August - 15 August

Past Week Accomplishment

  • Integrated Islamic and Nepali calendar prompts with ODK-X Survey Environment and updated their XLSXConverter2.js such that their dates are saved as Gregorian UTC in the database and reloaded to the survey in the non-Gregorian calendar format.
  • Used Jest for testing the functions used to convert non-Gregorian dates to Gregorian dates and vice versa.
  • Shared a document containing changes made during the implementation of the date prompts with a fellow intern.

Upcoming Week’s Plan

  • Finish integrating each non-Gregorian calendar with the current ODK-X Survey Environment and updating XLSXConverter2.js to work with the new non-Gregorian prompt types. More specifically, store the non-Gregorian date as Gregorian UTC in the database and reload it to the survey in the non-Gregorian calendar format. Here, find available JavaScript libraries that allow for these conversions.
  • Update document for official documentation so that it includes the implementation of non-Gregorian calendar prompts
  • Create a new GitHub pull request to include the implementation of non-Gregorian calendar prompts.
  • Write a submission report for the final product as part of the final evaluation.

Where I am Stuck At

Not stuck at the moment.

Week 14: 16 August - 22 August

Past Week Accomplishment

  • Integrated a total of 12 calendar prompts with ODK-X Survey Environment and updated their XLSXConverter2.js such that their dates are saved as Gregorian UTC in the database and reloaded to the survey in the non-Gregorian calendar format. Get new converter functions from the existing library.
  • Used Jest for testing the functions used to convert non-Gregorian dates to Gregorian dates and vice versa.
  • Updated document for official documentation so that it includes the implementation of non-Gregorian calendar prompts.
  • Created a new GitHub pull request to include the implementation of non-Gregorian calendar prompts.
  • Wrote a submission report for the final product as part of the final evaluation.

Upcoming Week’s Plan

  • Finalise a few items and be available for future updates to ODK-X Survey.

Where I am Stuck At

Not stuck at the moment.