Editing User:MeShubham99/GSoc15/log development

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
Here goes my '''development logs''' and '''personal notes'''
 
Here goes my '''development logs''' and '''personal notes'''
 +
  
 
='''BONDING PERIOD'''=
 
='''BONDING PERIOD'''=
Line 11: Line 12:
  
 
='''CODING PERIOD'''=
 
='''CODING PERIOD'''=
=='''Week 1'''==
 
 
'''May 25'''
 
'''May 25'''
 
* I think I should shift the login portion to the end (after deployment). Otherwise I'll have to do the settings <br />twice unnecessarily.  
 
* I think I should shift the login portion to the end (after deployment). Otherwise I'll have to do the settings <br />twice unnecessarily.  
Line 20: Line 20:
 
* Had some discussions, I'll get back to login now, from tomorrow then
 
* Had some discussions, I'll get back to login now, from tomorrow then
 
<br />
 
<br />
 
 
'''May 26'''
 
'''May 26'''
 
* made a gmail ID by the name ogv.mailer[at]gmail.com. I'll use this Email ID to configure mailgun,and <br />hand over the password to the BRL-CAD team.
 
* made a gmail ID by the name ogv.mailer[at]gmail.com. I'll use this Email ID to configure mailgun,and <br />hand over the password to the BRL-CAD team.
Line 26: Line 25:
 
* omniAuth remains. Basic issue would be to verify 3rd party login. Need for some searching <br />(nothing impressive seen yet).<br />
 
* omniAuth remains. Basic issue would be to verify 3rd party login. Need for some searching <br />(nothing impressive seen yet).<br />
 
* Maybe I know what to do.
 
* Maybe I know what to do.
 
+
    github branch "login" -> consisting of email verification+oAuth
 
+
    github branch "model-viewer" -> consisting of changes in the model viewer page
 
'''May27 - May 29'''
 
'''May27 - May 29'''
 
* I just went to my cousin's place for a hangout.
 
* I just went to my cousin's place for a hangout.
Line 36: Line 35:
 
* Made a sample app and added user accounts in it. Added omniAuth successfully in the sample app.  
 
* Made a sample app and added user accounts in it. Added omniAuth successfully in the sample app.  
 
* Still confused. It's the only part left in login. I'll need to ask about it from someone.
 
* Still confused. It's the only part left in login. I'll need to ask about it from someone.
 
 
'''May 31'''
 
'''May 31'''
 
* Its early in the morning. And I found the bug, residing in router.js -_-.
 
* Its early in the morning. And I found the bug, residing in router.js -_-.
Line 54: Line 52:
 
     4. The back-end part for omniAuth is complete. (you can ask for a video as well :D)
 
     4. The back-end part for omniAuth is complete. (you can ask for a video as well :D)
  
 
=='''Week 2'''==
 
 
'''June 1'''
 
'''June 1'''
 
* Lazy
 
* Lazy
* Learning three.js online editing model techniques and found [http://threejs.org/docs/scenes/material-browser.html#MeshPhongMaterial '''this great resource''']. Want to make something like this for the viewer. <br />Loads of studying.
+
* Larning three.js online editing model techniques and found [http://threejs.org/docs/scenes/material-browser.html#MeshPhongMaterial '''this great resource''']. Want to make something like this for the viewer. <br />Loads of studying.
  
 
'''June 2'''
 
'''June 2'''
 
* Updated proposal both on melange and brlcad-wiki. Was somewhat pending (now fully complete).
 
* Updated proposal both on melange and brlcad-wiki. Was somewhat pending (now fully complete).
 
* Added buttons to change view to wireframe, and to add grid/axes to renderer. backend part only. Button GUI is temporary.
 
* Added buttons to change view to wireframe, and to add grid/axes to renderer. backend part only. Button GUI is temporary.
 
'''June 3'''
 
* Asked for help regarding model viewing, especially colors in object model.
 
* Might take some time to respond.
 
* '''Implemented feedback system''' via formspree.io. Unable to add notification for feedback completion.
 
 
'''June 4'''
 
* Mainly tech fest work
 
* Added link to edit model in the my-models page
 
* tried adding the delete button for a model. I think code is right, why is it not working is the issue. confused :/
 
 
'''June 5'''
 
* Studying code base, g-obj conversion and other technical stuff
 
* Read. Read. Read. The resources provided by Inder and other resources as well.
 
* Implemented deleting model. Unable to delete thumbnail associated with it.
 
 
'''June 6'''
 
* Completed delete model. Thumbnail not getting deleted.
 
* Need to understand thumbnail-model architecture.
 
* More searching about g-obj and mged for capturing color attributes.
 
 
'''June 7'''
 
* Implemented delete, update info for OGV models. Some finishing required in edit-form required.
 
* No reply on mailing list regarding colors in models.
 
* Decided to drop the idea of having a separate modal for editing information. User will land up on the description page <br /> and change things there itself.
 
* Routing changed. Now user won't be able to tamper or see the edit description page of other user's models. <br />(let's say by copy pasting the URL). Code is safe from hackers :D :D.
 
 
'''WEEK SUMMARY'''
 
* user's can change view to wire-frame mode.
 
* user's can add axes/grids to model for better idea of directions.
 
  ^ Both need some back-end finishing.
 
* user's can provide feedback about the website to a developer, by filling up a form whose details will be forwarded to developer's email.
 
* user's can now delete their uploaded models (also the thumbnails associated with it)
 
* user's can update information about their uploaded models i.e. name, description and thumbnail.
 
* user's cannot see/tamper with information of other user's models. Earlier if you had access to someone's model's description form's link, <br />  that user could create problems (not actually change) in the information of that particular model.
 
  New routing set takes care of this, and if the model does not belongs to the logged in user, he is redirected to the upload page, <br />  even if he pastes the link to the description form of other's model.
 
 
=='''Week 3'''==
 
'''June 8 - 9'''
 
* Sorted things about feedback front-end.
 
* Working on adding dat.GUI features in model_viewer. Not working due to some reason.
 
* dat.GUI works now fine in the meteor app. Adding functions related to OBJMaterial. Model Viewer almost complete.
 
 
'''June 10'''
 
* Completed adding functions in dat.GUI. Might need to add more, but it has what a basic viewer needs.
 
* Functions consisting of wireframe, wireframe+model, set transparency, opacity, ambient color, shininess etc.
 
* Unable to customize background color through dat.GUI.
 
 
 
'''June 11'''
 
* Nothing much. unwell
 
* Tried categorizing models into categories.
 
* Worked fine when one model has only one category, but that should not be it. A model can have more than one category.
 
* There can be 2 ways of going through the problem. Either make a new collection, or make a field named <br />"category" in the model document itself, among which the latter looks more promising and efficient.
 
 
'''June 12 - June 13'''
 
* Unwell
 
* Slept a lot
 
* Some GUI for model_meta form for category checkboxes.
 
 
'''June 14'''
 
* Added a field for category in modelFiles.
 
* "categories" is a field in model Files which is an array that stores categories in which the model belongs to.
 
* The categories that go in the model files is chosen by the user in the model_meta form.
 
* There are 12 pre-defined categories (check-boxes). The user selects the category to which the model belongs to (can be more than one).
 
* Merged with edit-info. Need to work on certain validations (another 2 hour job).
 
 
=='''Week 4'''==
 
'''June 15 - 16'''
 
* Tech festival work. Related to organizing events
 
* Finished with edit info implementation. Everything works fine now in case of updating <br />model details: name, description, thumbnail and category.
 
 
'''June 17 - June 18'''
 
* Nothing much.
 
* Looked for ways to tag models. Added and tries using a bootstrap package for the same. Might need some work.
 
* Waiting to get the previous work merged in the GSOC'15 branch of BRLCAD (both back-end and front-end).
 
* Searched about followers/following architecture in mongodb. Got a pretty good idea [http://stackoverflow.com/questions/4042917/twitter-like-app-using-mongodb '''here''']. For this to work, every user should have a  profile page as well.
 
 
'''June 19 -June 20'''
 
* Made working profile pages, with routes for users. Basic Info about any user can be seen on the profile page.
 
* Profile pages accessible at /profile/:_id
 
* Will surely take time to complete. Should be complete by midterm evaluation.
 
 
 
'''June 21'''
 
* Stayed at home
 
 
=='''Week 5'''==
 
'''June 22'''
 
* Stayed at home
 
 
'''June 23'''
 
* Stayed at home
 
 
'''June 24'''
 
* Stayed at home
 
* Added a follow button to profile pages (won't show if you are visiting your profile). Does nothing yet.
 
* Made a few changes to the previous profile page work.
 
 
'''June 25'''
 
* Added routes to profile page on model feed. Linking with profile pages of user.
 
* Appending id to follower/following array in user document successful. Working Following button.
 
* Feed will show models of users who are being followed by the current user.
 
* Working un-Follow button added.
 
* Trying to handle visibility of both buttons under different circumstances.
 
 
'''June 26 (midterm evaluation starts)'''
 
* Visibility still problematic.
 
* number of people following shown on profile.
 
* Improved front-end of profile page (unresponsive, relative positioning).
 
* error message on the model of not being converted added in model_meta.js
 
* Need to handle visibility and update follower list (only following list working).
 
 
 
'''June 27'''
 
* Continuing with error message of conversion and follower.following part.
 
* More Front-end work to profile pages. Not much of a work.
 
* Proper Indenting and commenting of code.
 
* Fixing Issues in previous work.
 
 
'''June 28'''
 
* Visibility of buttons handled
 
** UNFOLLOW button visible on those user profiles who are being followed.
 
** FOLLOW button visible on those user profiles who are not being followed.
 
** no button on user's own profile.
 
** FOLLOW button changed to UNFOLLOW button after clicking and vice versa
 
* Tried updating follower array of other user. Unable to do so till now.
 
 
=='''Week 6'''==
 
'''June 29'''
 
* Nothing much just standard bug fixing here and there.
 
 
'''June 30'''
 
* Newsfeed (homepage) viewing:
 
** User's see their own models
 
** User's see the models of the people whom they follow
 
** User's see the models who have likes greater than a specific number. popular models.
 
* added the field countLovers to the Lovers collection to keep account of number of likes.
 
* All above items on the homepage will be sorted reversed chronologically (the model uploaded last, will be shown first).
 
* Removed smooth mouse movements from model_viewer (earlier added by me). Were very messy and difficult to handle.
 
* Added profile button on model_viewer/renderer which leads to the owner of the model.
 
* Added follower array updating functionality (update other user's parameters) but needs to be more secure.
 
 
 
'''July 1'''
 
* Added buttons on filemanager page. Added a temporary delete button as well.
 
* On user initialization/creation of the user, He will be following two users by default, the admin user and himself.
 
* Dire need to make user update method secure. Trying to do so.
 
 
'''July 2'''
 
* Display google+ user profile picture if user logged in from google. unable to view on usr settings page.
 
* limit character length in about section in forms. Show number of characters left as well.
 
* updated the displaying of number of followers.
 
* feedback button and page, accessible from anywhere at all times.
 
 
'''July 3 (midterm evaluation ends)'''
 
'''[http://brlcad.org/wiki/User:MeShubham99/GSoc15/Midterm_Summary Midterm Summary]'''
 
 
'''July 4'''
 
* Came across html2canvas which can be used to take screenshot and save that as thumbnail for the model.
 
* made feedback thanks page, user will be lead to the page after successful feedback form submission.
 
 
'''July 5'''
 
* Added a sidebar on newsfeed page that will show. Template ready.
 
** current user info
 
** suggested users to follow
 
** suggested models to view
 
* Sidebar now showing current user info that includes, profile pic, name, # followers, # people following and # models.
 
* Solved the problem of repeatedly saving profile picture of same user.
 
* Added a field by the name "countModels" in profile section of user, that gets updated as per insertion/deletion of model.
 
* Sidebar now shows users suggestions who can be followed. Showing
 
** Users excluding the ones who are already being followed
 
** excluding himself.
 
** Users having highest number of models first.
 
* Newsfeed shall remain empty unless no user is being followed whatsoever.
 
 
=='''Week 7'''==
 
'''July 6'''
 
* Added a field by the name "viewsCount" keeping track of number of views of model.
 
* The newsfeed now shows popular models, sorted on the basis of number of views.
 
 
'''July 7'''
 
* Initial trials to incorporate wmater command in the viewer.
 
 
'''July 8 - July 11'''
 
* Stayed at home.
 
 
'''July 12'''
 
* Searched about "load more" feature for pages (newsfeed, profile page and my-models page). Pagination in meteor '''[https://github.com/alethes/meteor-pages here]'''.
 
* Need to test the meteor-pages package in the app.
 
* No success in wmater command.
 
* 'Load more' functionality is working with '''[https://github.com/tmeasday/meteor-paginated-subscription meteor paginated subscription]''' package. But needs a lot of work.
 
 
=='''Week 8'''==
 
'''July 13'''
 
* Deleted/disabled the suggested models feature. Issue in meteor subscription/publication functionality due to which, the load more feature <br />does not seem to support different kinds of publication for the same collection. Need of a different "explore models" page. <br />But first finishing of existing bugs is required.
 
* Explore Page, for searching/exploring models:
 
** Search bar (only by name)
 
** Sort by: number of views, number of likes, time of upload (radio buttons)
 
** Search in: Categories (check boxes).
 
** Approximate time to be taken for completion 7-10 days.
 
** Problem to be faced: Publishing data differently from same collection on single page. (keeping the load more functionality intact)
 
 
'''July 14'''
 
* Set up a new explore page.
 
* Looked into different methods in which models can be viewed.
 
* Need to set the load more functionality aside.
 
* Successfully displaying models with different sorting properties, but without user input.
 
 
'''July 15'''
 
* Tried to work with load more functionality and displaying different views of the same collection.
 
* Just trying to work on the load more functionality
 
 
'''July 16'''
 
* Tested meteor packages for adding search-bar and search models by name option to Explore page.
 
* Successful implementation of search-box (searching models through name) using search-source package.
 
* User can search through search box by model name and user name.
 
 
'''July 17'''
 
* Searching models and users through search boxes complete. with front end.
 
* Started working on filter wise searching/displaying of models.
 
* Filters: Category, Upload time-range, Sort
 
* Taking input through drop-down menu, appending selected input to text field, and displaying selected filters.
 
* Undo button for removing last added filter.
 
 
'''July 18 - July 21'''
 
* Out of station for hackIndia (national level hackathon).
 
 
=='''Week 9'''==
 
'''July 22'''
 
* Stayed at home
 
 
'''July 23'''
 
* Tried working with wmater command to get color of models. Confused about its use.
 
 
'''July 24'''
 
* Working on the explore page to search models according to category.
 
* Facing difficulties in previous implementations.
 
* Made a form for submission of filters.
 
 
'''July 25'''
 
* exploring wmater and get_comb
 
 
'''July 27'''
 
* Got PR merged on GSOC branches.
 
* Stop adding further features, work on bug-free OGV.
 
 
'''July 30'''
 
* Started the bug fixing routine. fork now up to date with the GSOC15-merged branch.
 
 
'''July 31'''
 
* Bugs due to merging fixed. Ambiguous front-end problems and deleted routes problem has been solved
 
 
'''August 1'''
 
* unwanted file deletion
 
* generalized feedback frontend and a few other issues.
 
 
'''August 2'''
 
* Eliminated a different explore page and combined it with newsfeed page.
 
 
'''August 3'''
 
* College reopens. Classes start.
 
* Google+ profile pictures are successfully being viewed (except on newsfeed page)
 
 
'''August 4'''
 
* Profile page and newsfeed front end fixes mostly including alignment and positioning.
 
 
'''After 5 August'''
 
* Fixing bugs about backend and front end part
 
* There were many small isuues
 
* Trying to work on deployment part, on ubuntu server, but coud not complete sue to some reasons.
 
* Talked to deepak (had better progress in working with deployment), came back to fixing bugs etc.
 
* Send my update branch PR.
 
* Plenty of merge-conflicts come up. Working with project partner Deepak to resolve issues and make GSOC15-merged branch clean
 
* Prepared a list of enhancements to OGV and how to bring them into it.
 
 
* College fest work.
 
* Preparing for internships (competitive programming).
 
* Starting of college projects (3 course projects to come and 1 project under a professor ongoing).
 
 
'''8 OUT OF 10 PROPOSED MILESTONES COMPLETED [http://brlcad.org/wiki/User:MeShubham99/GSoc15/OGV_production_ready_plan see link]'''
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)