Editing User:MeShubham99/GSoc15/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 22: Line 22:
 
Online Geometry Viewer started as a GSoC 2013 project by Harmanpreet Singh continued and enhanced by Inderpreet Singh as GSOC 2014 project . It's an online 3D geometry viewer that works on WebGL using three.js. It uses vanilla PHP on server side whereas jQuery and Bootstrap on the front-end. node.js forms a solid foundation for the Viewer. meteor as a framework is being used which is a great advantage for beginners.
 
Online Geometry Viewer started as a GSoC 2013 project by Harmanpreet Singh continued and enhanced by Inderpreet Singh as GSOC 2014 project . It's an online 3D geometry viewer that works on WebGL using three.js. It uses vanilla PHP on server side whereas jQuery and Bootstrap on the front-end. node.js forms a solid foundation for the Viewer. meteor as a framework is being used which is a great advantage for beginners.
  
I intend to complete the back-end features of OGV which are pending at this point making it production-ready and finally deploying the online viewer.
+
My ideology and vision towards developing the viewer is entirely based on projects like behance.net (where designers showcase their works). People comment, like, share, commend on others works, make connections seeing their work etc. Making connections is important since CAD stands out as a software for designing in numerous engineering projects.
  
=='''TODO'''==
+
=='''Things that I will Improve and add on: -'''==
 +
 
 +
==='''Enhanced Dashboard'''===
 +
* OBJ search - tagging models into categories
 +
* omniAuth: Login through Google, Facebook, Twitter
 +
* User Experience and User Interface
 +
* meteor makes it so much easier to create web-apps for beginner-level developers to add packages and implementations. Easily available info about its usage is provided online.
 +
 
 +
 +
 
 +
==='''Detailed Project Description'''===
 +
 
 +
===='''Improvements in OGV'''====
  
 
* '''Camera position for better viewing'''
 
* '''Camera position for better viewing'''
Line 80: Line 92:
 
* initial setup of a working environment (finalizing interfaces etc.)
 
* initial setup of a working environment (finalizing interfaces etc.)
 
* discussions about change in workflow
 
* discussions about change in workflow
* Learn about Meteor and three.js
+
* Since I would be working majorly on increasing user experience, milestones and objectives are vulnerable to changes (for the better).
  
 
* '''WEEK 1 (31 May)'''
 
* '''WEEK 1 (31 May)'''
Make Login System up-to-date. With working email verification system, forgot password mails and omniAuth.
+
Checking for proper uploading of obj files and proper viewing of the files. Finalize code and repair bugs.
  
 
* '''WEEK 2 (7 June)'''
 
* '''WEEK 2 (7 June)'''
Make changes to the model-viewer page and making it editable by user. Requires work related to three.js
+
omniAuth added in web-app. Signing in with facebook, google and twitter enabled.
  
 
* '''WEEK 3 (14 June)'''
 
* '''WEEK 3 (14 June)'''
Complete model viewer page and check for bugs and issues regarding error in uploading of *.g files.
+
Setting up mailer for email verification in case of logging in with native OGV login. Finalizing the registration and logging in process.
  
 
* '''WEEK 4 (21 June)'''
 
* '''WEEK 4 (21 June)'''
Edit model functionality like  rename, delete, change thumbnail options for models. Requires changes to model_meta files.
+
Categorizing object uploads, enabling tagging of objects for better search results and tracking of Geometry files.
  
 
* '''WEEK 5 (28 June)'''
 
* '''WEEK 5 (28 June)'''
Finalizing with the model uploading, editing and viewing. Add feedback system in OGV web-app.
+
Start with more socializing features of the web-app. Enable features like liking, sharing, viewing, track view history (done through tags of objects), suggesting appropriate objects to view by a user (again using tags).
  
 
* '''WEEK 6 (5 July)'''
 
* '''WEEK 6 (5 July)'''
Start work on deployment.
+
Finalize logging in process, authentication of user, other back-end developments till now. Develop enough socializing features for a mid-sem evaluation. Some Front-end enhancements will be seen (but few).
  
 
* '''MID TERM EVALUATION (tentative)'''
 
* '''MID TERM EVALUATION (tentative)'''
  
 
* '''WEEK 7 (12 July)'''
 
* '''WEEK 7 (12 July)'''
Finish deployment work.
+
Finalize the socializing features. Provide the mentors a list of features that have been added. Ask for review from mentors about suggestions for any other add-ons.
  
 
* '''WEEK 8 (19th July)'''
 
* '''WEEK 8 (19th July)'''
Enable model tagging while uploading models.
+
Implement adding of prefixes to obj models. Write tests
  
 
* '''WEEK 9 (26th July)'''
 
* '''WEEK 9 (26th July)'''
Enable searching of models, and categorizing models into tags.
+
Working on configuration form.
  
 
* '''WEEK 10 (2nd August)'''
 
* '''WEEK 10 (2nd August)'''
Work on dashboard and other pages where user information needs to be integrated with front-end elements.
+
Work on Loader indication and other visual notifications wherever needed and asked for. Work on a mailer digest for notifications and other information, that will appear on user dashboard.
  
 
* '''WEEK 11 (9th August)'''
 
* '''WEEK 11 (9th August)'''
Start writing documentation, and look for ways in which social features can be added i.e. followers/following feature.
+
Work on GUI and user friendly interface. (based on high level critique)
  
 
* '''WEEK 12 (16th August)'''
 
* '''WEEK 12 (16th August)'''
Work on making social app. Add issues/enhancements to github repository (whatever noticed). Try resolving issues.
+
Write appropriate Tests for future debugging. If time allows I would like to implement Zoom-in and Zoom-out options while viewing obj file.
  
 
* '''WEEK 13 (23th August)'''
 
* '''WEEK 13 (23th August)'''
Code testing, adding comments, and cleaning code.
+
Review code and ask for review. Finalize GUI.
  
 
* '''BEFORE FINAL EVALUATION'''
 
* '''BEFORE FINAL EVALUATION'''
Production ready OGV, ready for release. Github repository up-to-date with persisting issues and enhancements for further development.
+
Back-end Enhancements and improved creatives (GUI). Bug free, clean code and ideas for future development will be delivered.
  
 
='''My Preparation'''=
 
='''My Preparation'''=

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)