-
Notifications
You must be signed in to change notification settings - Fork 51
GSoC 2015 Daisy Nkweteyim, Irish Medina, Ajay Sai
Daisy Nkweteyim
Irish Medina
Ajay Sai
I am a third year undergraduate student from the University of Buea, Cameroon. I study Computer Engineering. I am also the Working to Advance African Women (WAAW) stem leader for the University of Buea Cell and I love singing.
LinkedIn
Github
G+
Facebook
Twitter
For the Google Summer of Code 2015, I will be working on the Testing Automation project. I will be testing features of the Mobile App Control Center. Mariam Kiran will be my mentor.
- Read up on Testing Automation and Selenium.
- Had initial interaction with mentor.
- Met up with Irish and who provided a detailed installation guide for the Mobile App Control Centre. (MACC)
- Setting up testing environment.
- Not yet.
- I plan to redo the whole process, this time using the setup just for the MACC and not try to join that of Automated Testing and MACC.
- No, I think I've got it covered.
- Get initial requirements/functionalities for testing.
- Modify timeline to incorporate functionalities to be tested.
- Start testing of base features already on the MACC.
- On schedule.
- Finally finished the setup for testing the MACC with Irish's help and from the detailed installation guide she wrote.
- Created a list of functionalities which are currently present on the MACC for testing.
- Power outages throughout town.
- Misinterpretation of language for setup of MACC. (comment in…/comment out…)
- Yes, electricity was restored the following day.
- Yes and learnt a lot in the process.
- No, none exists.
- No
- Modify timeline to incorporate functionalities to be tested.
- Start testing of base features already on the MACC.
- I am slightly behind due to school work but plan to catch up during the week.
- Skyped with my mentor (Mariam) to address some questions I had.
- Started coding the tests for the malaria section of the MACC.
- To catch up with time, I started with integrating generic classes.
- Right now, I'm waiting for code review so I can make any changes if necessary and hopefully merge with the master branch of the automated testing repos.
- I also got Irish's time-line and the changes she plans to implement this year.
- None
- N/A
- N/A
- N/A
- Continue testing the base functionalities for the MACC.
- Continue creating generic classes.
- Modify my time-line to include the other functionalities which will be implemented by Irish.
- On track.
- Had code review with my mentor.
- Implemented some changes as per her recommendations.
- Continued with testing functionalities.
- None
- N/A
- N/A
- N/A
- Finish with writing the test cases.
- For the next two weeks, I shall prepare for and write end-of-semeter examinations which was indicated in my time line. (Exams this year come a little earlier than expected). Therefore, next week, I shall mostly be studying about the Java Database Connectivity API so I can implement it after exams.
- On schedule.
- Started reading up on JDBC API.
- None
- N/A
- N/A
- N/A
- Will continue with reading up on JDBC API and how to generate reports with Selenium web driver.
- I had set apart time on my time-line to prepare for and write exams. So I am still on track.
- Read up on using the Java Database Connectivity API. I now have an idea of what needs to be done to test the database functionalities.
- I also came across an article on how to access multiple web elements at a time using a list instead of writing code for accessing each element.
- Read up on how to generate reports with Selenium. I came across several promising tools like:
- HTML Publisher
- Allure framework
- TestNG
- This article
- I have to see the pros and cons of each and run them by my mentor.
- None
- N/A
- N/A
- N/A
- My end-of-year examinations end on Wednesday. After that I plan to:
- Refactor the code.
- Write test suites.
- On track.
- Updated my timeline.
- Reacquainted myself with the code.
- Rewrote some tests to sync with changes on the MACC repos.
- Getting the Assert statements to work.
- Accessing multiple web elements at the same time.
- Figuring out how to test for incorrect inputs.
- Figuring out how to access information from excel spreadsheet.
- Not all of them.
- The first one was resolved by getting the Webdriver to wait until the page loads before executing the Asserts.
- The others have not been resolved.
- I will ask my mentor for help if I continue to face these problems.
- Write test suites.
- Not on track.
- Used the Apache POI tool to access login information from an excel worksheet.
- This information was used to test for incorrect inputs.
- Started implementing the data driven framework to allow for all sorts of data.
- Refactored code to include a class for constants. * This will reduce redundancy of constants in the code and simplify modification in case of changes in the MACC repos.
- Started a README.md file for my repository.
- Started writing test suites.
- Building of a data driven testing framework.
- I have an idea of what building a framework entails.
- N/A
- I will ask my mentor for help if I have any problems.
- Have code review and skype call with my mentor.
- Use a reporting tool create html reports.
- Refactor code and check for and modify tests which have failed due to changes in the MACC repos.
- Have a complete README file ready for Irish.
- On track.
- Talked with mentor on the progress of the project. She said everything looked fine.
- Completed a README.md file.
- Continued building the framework by using Apache * POI to access signup and post information from excel sheets.
- I pulled the MACC code and was not able to access particular sections of the app.
- I encountered difficulty in manipulating data which was accessed in the excel sheet in the test script. Depending on the data read, certain checkboxes need to be ticked. I have trouble getting the tests to decipher which data read corresponds to which checkbox to be ticked.
- The first has been resolved. Irish had moved some of the database models in the MACC code. To fix this issue, I deleted the previous directory where the code was found and cloned the new one.
- The second issue still exists. I used switch statements to include the various options. Unfortunately, cell types that can be read with Apache POI are blanks, formula, boolean, error, string and numeric values and switch statements can have just numbers and characters as case values.
- I will ask my mentor for help if I have any problems.
- Fix problems encountered last week.
- Finish implementation of test suites.
- Refactor code.
- Start with database testing.
- Not on track.
- Refactored code.
- Still face difficulty in manipulating the data acquired from the excel sheet.
- Not yet
- Yes, it still exists.
- I just asked my mentor for help.
- Implement database tests.
- Not on track.
- Fixed the signup problem.
- Added more tests (view and delete posts).
- Refactored code.
- Started implementing database tests.
- N/A
- N/A
- N/A
- N/A
- Complete database tests.
- Complete test suites.
- Implement build tool.
- Refactor code.
- Not on track.
- Wrote more database tests.
- Wrote test suites.
- Implemented Maven build tool.
- Started with the presentation.
- Implementing maven.
- Database tests.
- Not yet.
- The project doesn't build. I'm still looking for the reason why.
- The database doesn't connect to postgresql on the VM. Right now, I am writing the tests and simultaneously figuring out a way to get it to connect.
- No.
- Fix the above mentioned problems.
- Refactor code.
- Create documentation.
- Present demo.
- On track.
- Finished presentation.
- Demoed presentation.
- Configured postgresql to recognise the IP address of the VM. The database driver could then connect.
- Used a main function to call all the TestNG test suites instead of the Maven build tool.
- Refactored code.
- Lost a lot of work because I hadn't committed them. When I did finally want to commit, I had to remove some files first. I accidentally ended up removing all of my source folder. To try to rectify the error, I did a git checkout HEAD which does not take you one git command back but to the state you were in when at the last commit of each file.
- Yes, they have. I rewrote the files.
- N/A
- N/A
- N/A
- Finished as scheduled
I will be attending the University of Waterloo in Canada to pursue a master's degree in Computer Science, with a research area in machine learning.
Recently, I was awarded the Generation Google Scholarship, which is granted to select students from across Canada and the United States who exemplify leadership, a passion for computer science and technology, and have achieved a strong record of academic achievement.
In my free time, I enjoy pwning noobs, first-person shooters, collecting trophies on PlayStation Network, independent travel and exploration, and getting more involved in open source development.
You can find more information about me on my LinkedIn page. If you have time, please add me!
Gmail
Google+
GitHub
LinkedIn (Add Me!)
To be updated …
To be updated …
To be updated …
To be updated …
- Installed the Mobile App Control Center on the PeaceCorps VM and got it running.
- Cleaned out some temp files that were included in the repository and added a .gitignore file.
- Wrote more detailed installation documentation to help Daisy
- Helped Daisy (who is working on automated testing) with installing MACC and getting it to run (still in progress).
- Worked through the entire Django REST framework tutorial to get familiar with developing web APIs.
- Unrelated to my current project, but I have also been working on deploying VMS to a server (the project I worked on in last year's GSOC) and also provided Valeria with a list of initial tasks to work on as well as answering any questions.
- None
- N/A
- N/A
- N/A
- Get more familiar with the existing codebase.
- Work on functionality to upload a profile photo.
- Work on functionality to edit a profile photo.
- Get in contact with mobile app developers to determine what they need for the API.
- Complete my timeline and have it finalized by mentors.
- Still need to determine my project schedule (to be done by next week).
- Completed a preliminary timeline to be sent to mentors for review.
- Got in contact with the Malaria app developers (Ankita and Bruno) to determine their current status of development. Ankita has developed a sample app to make calls to the API as a starting point. Bruno is developing the iOS version from scratch so he will only be integrating with the API much later. Julia set up the server to host MACC so that Ankita can start making calls to the API with her sample app. Right now I am continuing the discussion with Ankita and Bruno on the requirements and what to develop next for the API.
- Added Django REST Swagger API documentation for my fork of the project. Wrote instructions on how to access the REST Swagger API documentation.
- Added more descriptive docstrings for the Post endpoint of the API and commented out some API code that was providing duplicate functionality.
- Continued to help Daisy with her installation of MACC for her VM.
- None
- N/A
- N/A
- N/A
- Send preliminary timeline to mentors and get it approved.
- Continue discussing with Ankita and Bruno on requirements and what to develop next for the API.
- Work with Ankita on getting her sample app to communicate with the API
- Refactor the MACC code so that the Malaria portion is separated from the PeaceTrack portion. Right now all code is just in one big Django app (as opposed to multiple Django apps that are more cohesive).
- Check out tools to test the API.
- On track.
- Got preliminary timeline approved by mentors
- Worked with Ankita on getting the Malaria Android app to communicate with the API
- Checked out tools to test and monitor the API
- Learned API testing using the Django REST framework APIClient and unittest
- Completed API tests for Post API functionality
- None
- N/A
- N/A
- N/A
- Add docstrings to API tests
- Ensure that tests have PEP8 compliance
- Submit first PR to mentors for review
- On track.
- Updated API tests for Post endpoint to have PEP8 compliance
- Added docstrings to tests
- Added input validation to New Post form fields
- Refactored code for New Post functionality to use Django Forms with PEP8 compliance
- Collaborated with Ajay on refactoring and modularizing the MACC code
- None
- N/A
- N/A
- N/A
- Add known issues to GitHub
- Fix forms so that they use csrf tokens
- Fix URLs in code so that they are not hardcoded
- Fix cancel button across the project
- On schedule
- Added input validation to New Post form fields
- Added a base template (wrapper template) that includes the header and footer found in all pages
- Refactored code for View Post and Edit Post functionality to be more modular, using Django forms and with PEP8 compliance
- Fixed New Post and Edit Post forms so they include csrf tokens
- Fixed urls for New Post, Edit Post and Delete Post functionality so that they are not hardcoded
- None
- N/A
- N/A
- N/A
- Refactor Delete Post functionality so that it is more modular with PEP8 compliance
- Add known issues to GitHub
- Add Neetu's comments on things to change to my timeline
- Run Daisy's test on the project
- Add input validation to Edit Post form
- On track.
- Added confirmation page for deleting posts. All delete posts are done over an HTTP POST instead of an HTTP GET (from clicking a link).
- Moved functionality to delete post by id into the services layer.
- Updated create post form so that initial form values are redisplayed if input validation doesn't pass.
- Updated edit post form so that initial form values are redisplayed if input validation doesn't pass.
- Fixed cancel button in create post form so that clicking it no longer submits the form.
- Fixed cancel button in create post form so that clicking it no longer submits the form.
- None
- N/A
- N/A
- N/A
- Create a separate Malaria Django app to better modularize the code.
- Add View Post button.
- Get Daisy's tests running.
- On track.
- Created demo video for Peace Corps meeting last Wednesday
- Refactored code so that Malaria functionality is separate from PeaceTrack functionality (by moving all Malaria code to its own Django app within the project)
- Updated New Post form so that the textboxes are larger and the form is more responsive to window size changes (by using Bootstrap components)
- N/A
- N/A
- N/A
- N/A
- Get clarification on new specifications from Peace Corps
- Move API and Serializer code for Malaria into the Malaria Django app
- Update Edit Post form so that the textboxes are larger and the form is more responsive to window size changes
- Write unit tests for code in services.py
- On track.
- Posted known issues on GitHub
- Added View Post button
- Moved Malaria API code into its own Django app within the project
- Removed API code that is not being used (for RevPosts)
- Moved some code from view functions to services.py to reduce duplicated code
- Updated View Post page so that the Revision History is easier to understand
- None
- N/A
- N/A
- N/A
- Fix header and footer so that they are responsive to changes in window size
- Change text color of error messages so that it is more readable
- Fix New Post input validation so that the the user can enter in newline and some special characters
- Fix Edit Post input validation so that the the user can enter in newline and some special characters
- On track.
- Updated the Post model so that the description_post field is a TextField instead of a CharField (so that more characters can be entered)
- Used Bootstrap components for Delete Post template
- Fixed header and footer to be responsive to changes in window size
- Changed text color of error messages to be more readable
- Updated RevPost model so that the title_post_rev and description_post_rev fields include regex validators
- Updated how Post description content is displayed so that HTML line breaks are inserted where there are new lines in plaintext
- Updated author name displayed in Revision History so that the username is displayed if the first and the last name in a user's profile hasn't been set
- None
- N/A
- N/A
- N/A
- Write unit tests for code in services layer
- Fix styling so that it's all in separate CSS files instead of embedded in the HTML
- Install tools to run Daisy's tests and get tests to run
- On track.
- Wrote unit tests for business logic code
- Added profile button to header in base template
- Added logout button to header in base template
- Added functionality to redirect users to login page if they try to access a url without logging in
- None
- N/A
- N/A
- N/A
- Finish writing unit tests for malaria functionality
- Fix styling so that they are in separate CSS files instead of embedded in the HTML
- Add additional documentation to help onboard new developers
- On track.
- Finished writing unit tests for business logic code
- Added more issues to GitHub isses page.
- Submitted PR and updated mentors on my progress.
- N/A
- N/A
- N/A
- N/A
- Complete presentation slides for Wednesdays demo meeting
- Have presentation and demo ready before Wednesday
- Create design documentation
- Update README.md file
- Update installation guide if necessary
- On track.
- Completed slides for presentation
- Presented my slides and demo to Rose last Thursday
- Submitted a PR to my mentor
- Travis CI build was failing so I updated the .travis.yml file with commands to setup the database
- N/A
- N/A
- N/A
- N/A
- Completed my final evaluation and submitted it to Melange
- Make sure that mentor submits final evaluation to Melange
- On track
I am a second year student pursuing Bachelors in Technology in Computer Science and Engineering in SRM University, Chennai, India. I love web development and want to master it.
I'm obessed with basketball. I like to work in teams and believe can manage co-ordination in a large team, well.
To be updated …
To be updated …
- Setup the PeaceCorps VM(VirtualBox + Vagrant) and got it working
- Forked the Mobile App Control Center repository from here
- Installed the MACC on the PeaceCorps VM and got it running.
- Got in touch with Vennela (PeaceTrack - iOS) and started working on getting the requirements and features noted
- There were multiple python errors thrown up while I was install MACC on the VM.
- Thanks to Irish's detailed write-up was able to install it.
- No
- I don't need much assistance in the setup but I do need assistance in understanding the requirements of the project and putting together my timeline. Since my initial proposal was for a different project, I had to start a new timeline from scratch. Reached out to Vaibhavi Desai who worked on MACC-malaria last year. Hopefully, I'll get it ready in a day or two.
- Get familiar the functioning of MACC and the features involved
- Study the codebase and get familiarized with it.
- Have a hangout with the Android and iOS developers on Peactrack
- With the help of a mentor produce a complete specification and timeline document.
- Don't have a project schedule in-place yet. Once my timeline is up, I'll following that.
- Read documentation about Vaibavi's work and understood the code the project a little better.
- Got in touch with the Peacetrack app developers: Vennela and Bhagya to determine their current status of the apps. Had a detailed chat with Vennela, she semed to have understood the existing Android code base very well in order to implement in iOS. Currently I'm collaborating with them to gather the requirements.
- Put together a basic timeline which I will be sending to my mentor for a review.
- Followed Irish's documentation to add Django REST Swagger API documentation for my fork of the project.
- None
- N/A
- N/A
- N/A
- Send preliminary timeline to mentors and get it approved.
- Continue discussing with Vennela and Bhagya on requirements and what to develop next for the API.
- Work with Irish in refactoring the MACC code so that the Malaria portion is separated from the PeaceTrack portion.
- Learn more about Django REST Swagger API
- On track
- Started refactoring and modularizing the MACC code. Created to separate modules for PeaceTrack and Malaria.
- Figured out the existing API calls and how they can be used from the Android/iOS apps.
- Helping Bhagya's app communicate with the MACC. The app needs authentication of the volunteer which needs the database access.
- Need some additional help in modularizing. Have some errors.
- I'm working on resolving them.
- Yes, they some dependencies still exist.
- Mailed Rani and Irish about it. Will work with them to fix it in the next 3-4 days
- Completely modularize the MACC code
- Write documentation about the code base after modularizing it
- Help Bhagya and Vennela finish the login function by getting their apps to communicate with MACC
- On track
- Created a new app for peacetrack and modularized the code
- Worked with Vennela to determine the data needed by the apps.
- Worked with Bhagya and Vennela to get their apps communicating with the MACC server
- Fixed the errors in the peacetrack database structure according to current needs
- None
- N/A
- No existing road blocks
- Don't have any issues from last week. But do need a little assistance in putting together a design document for MACC. I think having a design document in place will make the development process ahead very easy.
- Put together a design document by collaborating with Irish
- Fix all the database structures according to the current needs
- Fix the generic UI issues like user account button not showing up in peace track home page etc
- Help Irish modularize malaria part
- Have Julia deploy the new code on the server
- On track
- Figured out all the data base structures correctly based on the design document prepared by Vennela and Bhagya
- Corrected the models.py file to finish the SQL structures for the models
- Fixed some UI inconsistencies
- Fixed the errors in the peacetrack database structure according to current needs
- None
- N/A
- No
- No
- Put together a design document by collaborating with Irish
- Help Irish modularize malaria part
- Finish the summary part
- On track
- Figured out the final features the PeaceTrack part of MACC must have
- Half way through compiling a design documentation
- Helped Irish in refactoring the code to create a separate app for Malaria
- Started coding the summary part
- None
- N/A
- No
- No
- Finish the design document
- Get Bhagya's and Vennela's app communicating with the MACC for the Cohorts part
- Finish the summary part
- On track
- Finished the design document and will be sending it to Irish to add the same for the Malaria part and to Nicki and my mentor for review
- Almost done with summary
- Wrote some documentation explaining some design decisions
- Helped Vennela in getting and sending the cohort information from and to the MACC server.
- None
- N/A
- No
- No
- Get clarification on new specifications from Peace Corps
- Finish the Summary part
- Write unit tests for the summary part in services.py
- On track
- Finished the summary page
- Figured out the data Vennela and Bhagya would need for the Acitvities part
- Fixed some bugs in the models
- The changes in models werent reflecting in the webview for the API
- Yes, Irish helped me with it
- They don't exist anymore
- No
- Get Julia to deploy the new code and get Bhagya's & Vennela's apps to work with the changed models
- Fix bugs in Summary
- Add search functionality to Summary page
- On track
- I have given Bhagya and Vennela all the requests which they need to make for the data they asked for Activities
- Fixed multiple the model inconsistencies according to Peacetrack documentation
- There is one table called Project which is looking for a column called id. There is no column called id in the table and is hence not performing any insertions form the APIs. I tried to change the model and migrate the changes, it says id column doesn't exist. I don't get why it is looking for this column at all.
- Isn't resolved yet
- I have mailed Rani, who worked on MACC last year and my mentor Nishta. I didn;t hear back from any of them yet.
- Yes please.
- Fix this bug
- Implement pagination in the summary table
- Implement search and filter functionalities in the summary page.
- Slightly delayed because of the bug.
- Worked with Bhagya and Vennela for the requests they need for Activity
- Finally fixed the bug I was struck with last week
- Fixed model issues related to Volunteer and output and outcome
- Volunteer page is done
- Nothing major
- N/A
- No
- No
- Clean up the code
- Finish the integration of MACC with Android/iOS apps
- Document every change made since last year's GSoC
- Make the complete screencast for Demo and record the voice over explaining it
- Slightly delayed because of the bug.
- Listing out the CURL requests for the Amdroid and iOS apps to integrate with the MACC
- Made the UI of the volunteer and summary page more responsive
- cleaned up the code
- started writing documentation
- No roadblocks this week
- N/A
- N/A
- No
- Finish documentation
- Make the final submissions and commits
- Slightly delayed because of the bug.