Documentation

Summary of the Project Work

I am Rupinderjit Kaur, continuing the Photo Language Translator (PLT) project.

Future Plan

I asked to my guide in College about continuing the PLT (Photo Language Translation) project and he agreed on that. I will continue this and develop the Single Page Application so that we can implement the offline feature.

Pull Requests

Milestones with their commits and blog post

Milestone 1: Code Understanding [Done]

http://rupinderwadali.github.io/Set_up/

Little busy due to exams and get comfortable with the code.

Blog Post

Milestone 2: Authorization [Done]

https://github.com/systers/language-translation/pull/139

Views of the applications are not shown according to the role of the users. So authorization is done according to the role of the users. Now the buttons like add articles, add the languages are not shown to users who don’t have the access to that views.

Blog Post

Commits

_config.yml

Milestone 3: Lists of volunteers and contributors [Done]

https://github.com/systers/language-translation/pull/137

Simplify the work-flow of the app for new users and shows the lists of the volunteers and contributors. It was shown previously but the volunteer can remove or add the volunteers and contributors as they have rights to do so and also improve the UI.

Blog Post

Commits

_config.yml

Milestone 4: Simple search [Done]

https://github.com/systers/language-translation/pull/133

This milestone is not the part of the proposal but while working on the app I found some bugs like search bar is not working and the Signup form of Devise did not have the field of location (country and site). By default the country of the user is Micronesia. When we select the country after registration, it did not show that country in the country tab. So I first fix these issues.

Blog Post

Commits

_config.yml

Milestone 5: Categorization [Done]

https://github.com/systers/language-translation/pull/135

Categorization of the articles according to the language and category of the articles using the advance search.

Blog Post

Commits

_config.yml

Milestone 5: Logs Generation [Done]

https://github.com/systers/language-translation/pull/134

Generating the logs of the user’s acitivities to track the access management.

Blog Post

Commits

_config.yml

Milestone 7: Assign role [Done]

https://github.com/systers/language-translation/pull/136

Assign the role to users as contributor and volunteers. It had been done previously but try to refactor the code. Firstly I tried to create a new view for the assign role but shows error of the react component when create a new component in the same view. Then again recombine the show-list and assign react component in a single component that render in a single view page. Add the can? method helper so that only admin can add and remove the roles of the users.

Blog Post

Commits

_config.yml

Milestone 8: Upload profile image [Done]

https://github.com/systers/language-translation/pull/130

Upload the user’s avatar (profile photo). Add a new field in the registration field for the profile image of the user.

Commits

Milestone 9: Devise flash message [Done]

https://github.com/systers/language-translation/pull/129

Devise flash the message for wrong username and password and also shows the messages and alerts.

Commits

Milestone 10: Offline Feature [In progress]

The offline feature of the application is not yet completed but to accomplish this feature we need to develop a SPA (Single Page Application). So we first convert PLT project to SPA using ember. SPA in Ember (backend in Rails, frontend in Ember and the frontend asks for data in JSON calls). Ember will store some data in the frontend, you can probable tell it to fetch more (to work offline) and to store it in LocalStorage.

_config.yml

Rack-offline

https://github.com/systers/language-translation/pull/145

Rack-offline gem with the HTML5 offline feature using technology App Cache. I used this gem and the welcome page was also working offline. But I faced problem while adding the other webpages to work offline.

Blog Post

Commits

Serviceworker-rails

https://github.com/systers/language-translation/pull/143

Service Worker is the JavaScript API that is used for offline feature. For embedding in the rails we use the serviceworker-rails gem. Then I use this for offline feature and create new page that work when the application is not connected to the internet. But this page is in the public directory. When I apply the same for the application’s view, I found the difficulties. So I mailed to the owner of the serverworker-rails gem and also send mails to the communities that are related to rubyonrails and offline feature. Then ask the queries on the slack overflow but did not get the any guidance. Create new issue in the serviceworker.

Blog Post

Commits

SPA using ember [Enhancement in project]

https://github.com/systers/language-translation/pull/142

After trying all these methods, then I discuss this my mentor she told me to ask for guidance from the Rosario-robinson and she referred me Sylvain Abelar. We discuss all the requirements of the application and after studying the different methods finally we finalize that for making the app to work offline first we need to develop a Single Page Application using ember that convert to SPA then using the relevant gems we make the app to work offline. So SPA is the requirement of the offline feature.

Blog Post

Commits

Milestone 11 Clean-up Repository [Done]

I pushed the code of all issues in a single pull request. So it was quite difficult to merge the code and my mentors told me to clean-up the code of the repository. I need to create new branches corresponding to each issue that have the code which address to the specific issue.

Milestone 12: Deploy [Done]

https://github.com/systers/language-translation/pull/144

Deploy the code to heroku for the testing.

Blog Post

Commits

Deploy App link https://enigmatic-shelf-39946.herokuapp.com/

_config.yml

Documentation

Daily Log & project report

Daily logs include all the work and it is daily basis report of the work.

Weekly Report

The wiki page for the weekly status report to track the progress of the work.

Proposal

After discussing the milestones with the mentors, we made some modification in the milestones. Here is link:

Blog Post

Detailed Timeline

The detailed timeline of the project that describe all the milestones of the project in more detail.

Blog Post

Thanks :)

Written on August 13, 2016