Difference between revisions of "User:MeShubham99/GSoc15/log development"

From BRL-CAD
(Week 5)
(Week 5)
Line 182: Line 182:
  
 
'''June 26 (midterm evaluation starts)'''
 
'''June 26 (midterm evaluation starts)'''
* Follow/un-Follow button visibility handled, that is as follows -
+
* Visibility still problematic.
** No button on profile
+
* number of people following shown on profile.
** Follow button on profile of other user who is not being already followed
+
* error message on the model not being converted added in model_meta.js
** UnFollow button on profile of other user who is being already followed
 
** Change Follow button to UnFollow button on click.
 
  
  

Revision as of 23:50, 27 June 2015

Here goes my development logs and personal notes

Personal notes

   github branch status
   "login"         -> consisting of email verification+oAuth     [Pull Request SENT]
   "model-viewer"  -> consisting of changes in the model viewer  [PR sent]
   "feedback"      -> feedback system implementation             [Pull Request Sent]
   "model-category"-> update-info/delete model/categorize models [PR sent]
   "model-upload"  -> uploading features                         [not yet started]
        
   TODO model-upload
   * upload color attributes with model
   * try optimizing the process

BONDING PERIOD

  • Playing around with meteor framework
  • Getting to know how models are being viewed
  • Updated the production ready plan
  • Talking to Deepak, discussing about work flow
  • Finding resources that would help me develop back-end and go through my milestones
  • Explored three.js. Made a few alterations to the code, and saw the effects on the view. I am particularly
    unhappy the way the models are being viewed. Lacks clarity, color etc.
  • Updated production ready plan after a few words with Sean. Deploying the app as soon as possible
    shall be a top priority.

CODING PERIOD

Week 1

May 25

  • I think I should shift the login portion to the end (after deployment). Otherwise I'll have to do the settings
    twice unnecessarily.
  • I'll work on the model-viewer page this week. Need to talk to Deepak about the front-end, so that we are
    finished with it completely this week.
  • Getting random colors on models. Confused :/. How to handle coloring (definite colors on models).
  • Smoother mouse rotation of camera [DONE] and Removed grids and axes [looks more classy]
  • Had some discussions, I'll get back to login now, from tomorrow then


May 26

  • made a gmail ID by the name ogv.mailer[at]gmail.com. I'll use this Email ID to configure mailgun,and
    hand over the password to the BRL-CAD team.
  • Implemented Email Verification of registered user. Forgot Password working fine. Changed Email templates
  • omniAuth remains. Basic issue would be to verify 3rd party login. Need for some searching
    (nothing impressive seen yet).
  • Maybe I know what to do.

page

May27 - May 29

  • I just went to my cousin's place for a hangout.
  • Tech-fest in college, loads of meetings.
  • Back to OGV from tomorrow

May 30

  • In my searching for the solution I found a repo that has implemented github login, and is working fine there.
    I will be taking some reference from there for sure.
  • 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.

May 31

  • Its early in the morning. And I found the bug, residing in router.js -_-.
  • omniAuth will be finished by tonight. I am relaxed.
  • Login system of OGV is production ready.
  • User will be removed from DB, if he does not verifies his/her email within x hours.
   Login
   Registering and email verification working fine (done via mailgun)
   Forgot password mails are going as well
   omniAuth added: google and github (facebook after deployment)
   User entry from DB will be deleted if email is not verified within x hours


   Some points to take note of regarding oAuth:
   1. Will require setup of configuration from your side
   2. Therefore, you won't be able to test on localhost until and unless you configure googe/facebook/github.
   3. I'll do the configurations after deployment
   4. The back-end part for omniAuth is complete. (you can ask for a video as well :D)


Week 2

June 1

  • Lazy
  • Learning three.js online editing model techniques and found this great resource. Want to make something like this for the viewer.
    Loads of studying.

June 2

  • 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.

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
    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.
    (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, 
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,
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
    "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
    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 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.
  • error message on the model not being converted added in model_meta.js


June 27

June 28

Week 6

June 29

June 30

July 1

July 2

July 3 (midterm evaluation ends)

July 4

July 5