User:MeShubham99/GSoc15/log development
From BRL-CAD
Here goes my development logs and personal notes
Contents
Personal notes
github branch status "login" -> consisting of email verification+oAuth [Pull Request SENT] "model-viewer" -> consisting of changes in the model viewer [Almost done] "feedback" -> feedback system implementation [Pull Request Sent] "edit info" -> update-info/delete model/categorize models [Done PR not 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
June 16
June 17
June 18
June 19
June 20
June 21
Week 5
June 22
June 23
June 24
June 25
June 26 (midterm evaluation starts)
June 27
June 28
Week 6
June 29
June 30
July 1
July 2
July 3 (midterm evaluation ends)
July 4
July 5