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
- Authorization of the View #139
- Show list #137
- Add simple search #133
- categorization of articles #135
- Activity log generation #134
- Assign Role Issue #136
- upload user’s avatar (profile image) #130
- Devise flash message about wrong username and password #129
- Rack offline #145
- Serviceworker #143
- set up ember #142
- Change made to deploy app to Heroku #144
- Pull request for issues solves #124
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
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
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
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
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
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
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.
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/
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:
Detailed Timeline
The detailed timeline of the project that describe all the milestones of the project in more detail.
Thanks :)