Editing User:Inderpreet/OGV Proposal
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 9: | Line 9: | ||
===Background Information=== | ===Background Information=== | ||
− | I study in 4th year B.Tech (Computer Science and Engineering) at Guru Nanak Dev Engineering College, Ludhiana (India). I was introduced to this community about a year ago and have tried to help with whatever I could. I can | + | I study in 4th year B.Tech (Computer Science and Engineering) at Guru Nanak Dev Engineering College, Ludhiana (India). I was introduced to this community about a year ago and have tried to help with whatever I could. I can speak in C++, PHP, Python, Javascript. |
==Project Information== | ==Project Information== | ||
− | |||
− | |||
− | |||
===Brief Summary=== | ===Brief Summary=== | ||
− | Online Geometry Viewer started as a GSoC 2013 project by Harmanpreet Singh. It's an online 3D geometry viewer that works on WebGL using three.js. | + | Online Geometry Viewer started as a GSoC 2013 project by Harmanpreet Singh. It's an online 3D geometry viewer that works on WebGL using three.js. For the server side purposes currently it uses vanilla PHP and jQuery, Bootstrap on the front-end. To give it a robust foundation, the community discussed about changing it's backend to something more powerful. I was part of that discussion and I gave my views. We all agreed on node.js to be a replacement for the current PHP based backend. We also agreed to use a Full Stack node.js framework such as derby or meteor. After looking at various frameworks I have decided to go for [https://www.meteor.com/ meteor]. Reason for this choice is that meteor has a comparatively larger community which means more support, bugs removed quickly and more code to learn from. Then there's a list of things that need to be improved in current OGV and a list of features that need to be added. |
'''Things that I will Improve on: -''' | '''Things that I will Improve on: -''' | ||
Line 30: | Line 27: | ||
* Sharing & Embedding Feature | * Sharing & Embedding Feature | ||
* Image alternatives for 3D Models (Requested by Mediawiki) | * Image alternatives for 3D Models (Requested by Mediawiki) | ||
− | * More Geometry | + | * More Geometry Conversions. |
==Detailed Project Description== | ==Detailed Project Description== | ||
Line 39: | Line 36: | ||
===Porting OGV to node.js=== | ===Porting OGV to node.js=== | ||
− | + | Online Geometry Viewer is currently written in plain PHP, and in discussions we all have agreed that we need to change that into something robust. Various suggestions were made and the Idea about using node.js survived. Then there was a choice to be made among various kinds of frameworks, and then various frameworks in each kind. We decided to go with Full Stack frameworks like derby or meteor. I decided to choose meteor over others because it has a larger community i.e used and tested by more people as compared to others like derbyjs. | |
− | So My first task would be to replace each module of OGV to meteor. I have written about the | + | So My first task would be to replace each module of OGV to meteor. I have written about the alternates for each module in the sections below. |
===Improvements in OGV=== | ===Improvements in OGV=== | ||
Line 65: | Line 62: | ||
* [http://docs.meteor.com/#accounts_api Accounts API] for handling accounts. | * [http://docs.meteor.com/#accounts_api Accounts API] for handling accounts. | ||
* [http://en.wikipedia.org/wiki/Secure_Remote_Password_protocol Secure Remote Password Control] Support. | * [http://en.wikipedia.org/wiki/Secure_Remote_Password_protocol Secure Remote Password Control] Support. | ||
− | * [http://docs.meteor.com/#meteor_loginwithexternalservice oAuth] for | + | * [http://docs.meteor.com/#meteor_loginwithexternalservice oAuth] for logging in with various services such as facebook, twitter etc. |
* The Accounts UI provided by meteor for user interface | * The Accounts UI provided by meteor for user interface | ||
And this all comes as one package with meteor. | And this all comes as one package with meteor. | ||
Line 73: | Line 70: | ||
====User Experience and User Interface==== | ====User Experience and User Interface==== | ||
− | I am passionate about creating good interfaces. More than eye-candiness I care for the experience that user gets. To make things easy for the user. Then the second part of User Interface design is about prompting users to take actions. To make sign up buttons that no one can ignore but click. I will use bootstrap as underlying framework which I will edit to customize it specifically for OGV. | + | I am passionate about creating good interfaces. More than eye-candiness I care for the experience that user gets. To make things easy for the user. Then the second part of User Interface design is about prompting users to take actions. To make sign up buttons that no one can ignore but click. I will use bootstrap as underlying framework which I will edit to customize it specifically for OGV. I will be soon uploading pictures of mockups under this heading so stay tuned. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | // more awesome content coming ... | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===New Features to be added=== | ===New Features to be added=== | ||
Line 138: | Line 114: | ||
* '''WEEK 2 (26th May)''' | * '''WEEK 2 (26th May)''' | ||
− | Port File Uploading to Nodejs (meteor) | + | Port File Uploading to Nodejs (meteor) both |
* '''WEEK 3 (2nd June)''' | * '''WEEK 3 (2nd June)''' | ||
Line 178: | Line 154: | ||
FINAL EVALUATION | FINAL EVALUATION | ||
− | ==My | + | ==My Prepration== |
− | |||
− | |||
− | |||
− | |||
− | |||
==Why BRL-CAD?== | ==Why BRL-CAD?== | ||
− | + | ||
+ | ==Why this project?== | ||
==Why Me?== | ==Why Me?== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==References== | ==References== | ||
− | |||
− | |||
− |