Saturday 21 March 2015

Week 14 Updates - End of the OPW Internship period

Hi All,

Since my internship was extended for one week, I would like to update you all with the work done during the internship period. Now I have added the user interface for the users to view the projects for a given program. There is also a programs page, where the users can view the list of programs, the programs page user interface needs some improvement. I then worked on to extend the unit tests so that a user is able to change the program for a given project.

So, now the projects program relationship is also tested and you can see the committed code here.

Currently, the user can see the list of programs, and can edit / create / delete program but only by the admin users. The user can see the list of projects for a given program. The admin user can edit the program name on the project page. If you would like to see this, then you can commit the code present in the test_code branch of osmtm-tasking-manager2 repository on my github profile.

Link: https://github.com/NitikaAgarwal/osm-tasking-manager2/tree/test_code

During the OPW internship period, I have learnt a lot of things and gained experience as being a newcomer to the open source world. Thanks to my mentors Pierre Giraud and Kate Chapman.

Cheers!
Nitika



Tuesday 10 March 2015

Updates on Week 13

Hi All,

Just to update you all with the programs feature associated with the projects, on which I have been working. For the Programs field relationship, we have got the below mentioned functionality implemented:

  • /programs - Programs page for the users to view the list of programs, here the user can create a new program by clicking on the "Create new Program" button which will be redirected to /program/new page. With the program listed, there is an option for the users to edit or delete a program by clicking on the "edit" page. Only the admins and project managers have the permission to create, edit and delete the program. 
  • /program/{program.id}/edit - When the user clicks on the edit button on the programs page, it gets redirected to this page so that the user can edit the program fields and then save the modifications. The user can also delete the program by clicking on the delete button.
I have created the unit tests for testing the creation of the program, editing and deleting the program. The unit tests for program are mentioned in the tests_program.py file.

Then I worked on creating the views for the program field and the templates for viewing the list of programs, editing a particular program. After performing functional testing and unit testing, I worked on the relationship between the programs and projects. 

Simultaneously with the above tasks, I worked on the migration scripts for adding the program_id column field to the projects table and creating a program table. 

Then, I worked on performing functional testing for the correct working of the projects program relationship. I have added an interface for the users to select the program associated with that project in the description block while editing the project. Only the admins and project managers have the permission to edit the project. 

Now, I'm working on the interface for the users to view the list of projects for a given program and will then proceed with the other functions i.e, requesting org and purpose fields. 

I'm still working on this internship project and will post on this blog with more updates. 


Cheers,
Nitika


Tuesday 3 March 2015

Week 11 and 12 Updates

Hello Everyone,

We have started with the implementation of the Programs - Project relationship. Firstly, it took sometime for me to get started with the implementation and look at the code to figure out the things. Now, I'm working on the implementation to create Programs table in the database for the users to view the programs, then allow the users to edit or create new programs and even delete the programs. These features will be allowed only to the administrators users.

While working on the implementation part and testing the code, I'm still facing some issues and taking the help of the mentor Pierre, to resolve those issues.
The code that has been written is committed in the master and test1, test2 branches on my github profile. Please see link: https://github.com/NitikaAgarwal/osm-tasking-manager2/tree/test2

I wish to inform that during week 11, I was travelling for religious visit and hence could not work during that week. After that I'm working on the implementation part. To compensate and complete the work, I'm trying to devote more time in the next following weeks and weekends. I'm willing to work for few weeks on this project after the internship period as well.

I'll soon update you more on this !!

Thanks,
Nitika 

Saturday 14 February 2015

Week 9 and 10 updates

Hi everyone !

So after finalising the mockups designs, the task was to understand the relationships between the different fields proposed for the grouping and filtering of projects and programs.

I worked on understanding the current database model and then designed the backend model (to be used mostly for the database design). The discussion and the final backend design is available here.

The backend design has been finalised after getting reviewed from the mentors.

Backend Design (mostly for Database)
RelationshipMeaning
ProjectProgram1 - nA project can have a single program
ProjectRequesting Org1 - nA project can be referenced by multiple requesting orgs
ProgramsPurpose1 - nOne to one relationship means that a single program can have multiple different purposes
Project Priority1 - 1A project will have a single priority (high, medium, low)
ProjectStatus1 - 1A project will have a single status (open, draft, archived)
RelationshipMeaning
ProgramProjects1 - nOne to n relationship means a single program can have different multiple projects
Requesting OrgProjects1 - nOne to n relationship means a single requesting org can have different multiple projects
Purpose (Crisis Support, Disaster Preparedness, etc)Programsn - 1n to one relationship means a single program can have different multiple purposes.
PriorityProjects1 - nOne to n relationship means a single priority (high, medium low) can have different multiple projects
StatusProjects1 - nOne to n relationship means a single status can have different multiple projects


Now for the implementation part, I need to focus only on the Project - Program, Project - Requesting org, Programs - Purpose as the other two priority and status are implemented in the current homepage design.

Currently, I'm working on writing the model class for Program, and tests cases for testing the correct relationship between the projects and the program. Also working on writing the alembic scripts.

Cheers,
Nitika




Monday 2 February 2015

Updates on Week 7 and 8

Hello all,

Finally, we have finalised the mockups designs of the HOT Tasking Manager v2 homepage after taking into consideration the suggestions mentioned by the HOT community members on the github issue. Since it's not feasible to cover each and everthing during the OPW internship period, we have restricted ourselves only to the most important and basic features that are currently in need for the tasking manager.



So we have designed the mockups of the homepage. I still forgot to change the category "Your Projects" to "My projects", the correct one.

I have got an understanding of the backend design (mostly for the database) and still working on it. You can see more details here.

This week, I'll be working to finalise the backend design (mostly for database) for the display of projects after choosing the appropriate filter categories and also starting off with the implementation.

Cheers!
Nitika


Monday 19 January 2015

Week 6 - Improved Mockup designs

Hi Everyone,

A change has been made to the final wording to be used in the HOT tasking manager and HOT Website for the various descriptions. 
Task - The spatial units a contributor is asked to work on one at a time. Those units may be squares (grid cells) or arbitrary polygons. Each is expected to be finished in less than 2 hours.

Project - An area divided into smaller pieces (tasks). For example,  http://tasks.hotosm.org/project/805

Program - Something with a specific goal, it might be related to a specific crisis or disaster preparedness project. For example, Ebola or Typhoon Haiyan.
We have designed the mockups of the HOT TM v2 homepage. After discussing with the mentors, we came up with the below designs. On the main / first page we thought to have the list of programs, on which the user can click to go to the list of the projects of that particular program aka second / target page. On the main page, we also have a button to view the complete list of projects without selecting any program.



The user can apply the filter on the second / target page to view the list of project as per their needs on the basis of filtering categories mentioned in the mockup design.



I'm glad to see a lot of reviews and discussions mentioned on these mockup designs of the HOT Tasking Manager v2 homepage. Thanks to all the community members for expressing their views and providing with your comments.

Cheers!
Nitika
 





Monday 12 January 2015

Updates on Week 4 and 5

Hello Everyone,

A very Happy New year 2015 to all of you...!

So, we have finalised the new wording for the various descriptions used in the HOT tasking Manager and HOT Website. Please see the below wording along with their descriptions:

Task - The work each mappers is asked to do. For example: map the roads and buildings.

Tile - The spatial units a contributor is asked to work on one at a time. Those units may be squares (grid cells) or arbitrary polygons. Each is expected to be finished in less than 2 hours.

Project - An area divided into smaller pieces (tasks). For example, http://tasks.hotosm.org/project/805

Program - Something with a specific goal, it might be related to a specific crisis or disaster preparedness project. For example, Ebola or Typhoon Haiyan.


Also, I have worked on designing the mockup for the HOT Tasking Manager v2 homepage, with the required features. The mockup needs to be reviewed by the mentors and has to be finalised before working on the implementation.

Though this a rough design and requires improvement after receiving the feedback from the mentors and the HOT community members, you can have a look at the mockup design for the HOT TM v2 homepage below.



In this week, I will be working to finalise the mockup design of the HOT TM v2 homepage and then work on the Backend (design mostly for the database) and after that, would be starting with the implementation.


Cheers,
Nitika

Tuesday 30 December 2014

Week 2, 3 Updates

Hello everyone,

Hope we all had a great Christmas eve. For the past two weeks, I have been working on the first module of the project i.e, Feature Analysis. As discussed in one of the weekly meetings with the mentors Kate and Pierre, I have created a Spreadsheet to mention about the wording glossary that is currently being used in the Tasking Manager v1, v2 and in the HOT Website.

A lot of suggestions has been mentioned by the HOT community members. Thanks for providing with your suggestions. I need to discuss with the mentors before answering up the queries mentioned in the Spreadsheet. Link to the Spreadsheet

Apart from this, I have prepared a documentation based on the discussion as github issues marked with the label "homepage" for designing the mockups which will represent the front end design of the Tasking Manager Homepage. First, I have to get the documentation reviewed by the mentors before designing up the mockups, I hope to get this done probably in this week's meeting. I'll then request for the feedback from the community members on the mockups before working on its implementation.

This week, I'm working on the second module of the project i.e., Frontend Design (designing the mockups for the homepage of the Tasking Manager v2).

Wishing you all a Happy New year 2015 !!!

Best Regards,
Nitika

Sunday 14 December 2014

Week 1 - Started the OPW project

Hello everyone,

Many thanks to the OpenStreetMap community members for a warm welcome and cheering me up for getting selected to the OPW program to contribute to the OpenStreetMap project Improve the HOT Tasking manager homepage.

This project has been splitted into the following modules :-

● Feature request analysis
● Frontend Design (User Interface)
● Community feedback and discussions
● Backend Design (mostly for the database)
● Implementation
● Testing


I have already setup the development environment on my system during the application period and able to run the OpenStreetMap tasking manager application locally.

For the first few weeks, my task is to collect all the features that needs to be included for improving the homepage and then document all these features for designing the mockups. I'll then represent these mockups to the community for feedback and improvement.

I, with the suggestion of my mentor Pierre Giraud have marked all the issues present on github which are discussed for improving the HOT Tasking manager homepage with the label homepage.

Last week, I have gone through all the issues marked with the label homepage and currently, figuring out the features that needs to be involved for improving the homepage. I need to discuss more on which all features needs to be involved and focused with my mentor Pierre Giraud and co-mentor Kate Chapman.

This week I'll be continuing with the task of collecting all the features and will document them for designing the mockups. I'll work on designing the mockup as well in this week and will represent to the community in the next week for feedback and comments.


Cheers !
Nitika





Sunday 7 December 2014

Hello! Getting Introduced to the HOT and FOSS Community


Hello Everyone,

Firstly, I wish to introduce myself to the Open Source community. My name is Nitika currently pursuing computer engineering from India. My research interests lies in Algorithms, Data Structures, Programming Languages, Web Application development and contributing to open source software.

Being an enthusiast Open Source Software developer, I had applied for the Outreach Program for Women 2014. My happiness knew no bound when the much awaited results of Outreach Program for Women 2014 came out and I was elated to see my name selected for the OpenStreetMap organisation. I have no words to express my happiness for being selected for OPW 2014 internship.

I'm glad to inform you all that I’ll be part of the OpenStreetMap community and will be working on the project Improve the HOT Tasking Manager homepage under the guidance of mentor Pierre Giraud. 

My project is to  improve the current homepage of the HOT Tasking Manager, since it makes other projects (jobs) such that the last / most urgent ones (that often are the same) hide all the rest.


Looking forward to a great period of coding and fun…!!

Stay tuned for more updates...!!!