Differences between revisions 4 and 9 (spanning 5 versions)
Revision 4 as of 2015-04-03 08:10:18
Size: 6122
Editor: ?Harsh Daftary
Comment:
Revision 9 as of 2016-03-24 08:36:17
Size: 5856
Editor: ?Harsh Daftary
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * '''Background''': I am from Mumbai, India and I am cuurently 2nd year Engineering Student pursuing B.tech in computer science. I have fair amount of experience in Python and Scala, have knowledge of NoSQL database, Multiprocessing, packaging, docker, actualization etc. I have experience in building rest-api for advertising company using python-flask-redis (JSON and XML)  * '''Background''': I am from Mumbai, India and I am currently 2nd year Engineering Student pursuing B.tech in computer science. I have fair amount of experience in Python and Scala, have knowledge of NoSQL database, Multiprocessing, packaging, docker, actualization etc. I have experience in building rest-api for advertising company using python-flask-redis (JSON and XML)
Line 29: Line 29:
 * '''Project details''': A dashboard for developers where they can manage the tasks, events, TODO lists by simple UI built over rest api in python. Developer can connect their github, google, and facebook accounts, so that all the events from this websites can be located at one place, also developer or user can add/remove/schedule events and tasks manually. Will be using some part of the code by mentor (Daniel) of icalendar-github for fetching issues of repositories and adding them as todo lists. Also on the Dashboard there will be graph of completed tasks/events vs pending tasks. User can set email reminders for particular event/task. If facebook is connected then upcoming birthdays can also be shown on Dashboard.  * '''Project details''': A dashboard for developers where they can manage the tasks, events, TODO lists by simple UI built over rest api in python. Developer can connect their github, Debian DMD UDD , and nagios, so that all the events from this websites can be located at one place, also developer or user can add/remove/schedule events and tasks manually. Will be using some part of the code by mentor (Daniel) of icalendar-github for fetching issues of repositories and adding them as todo lists. Also on the Dashboard there will be graph of completed tasks/events vs pending tasks. User can set email reminders for particular event/task.
Line 35: Line 35:
 ||2 MYSQL or SQLite3 with SQLalchemy.||
 ||3 REDIS/Memcache for caching and Session handeling||
 ||2 SQLite3 with SQLalchemy.||
 ||3 REDIS/Memcache for caching and Session handling||
Line 41: Line 41:
 || REST api for Login,signup, Connecting third party Apps||  || REST api for Connecting third party scripts||
Line 43: Line 43:
 || Fetching existing events and schedule from Google Calendar,Facebook, linkedIN etc. ||  || Fetching existing events and schedule from Google Calendar ||
Line 45: Line 45:
 || Sensitive data stored in MySQL or Sqlite3||  || basic data in sqlite3||
Line 47: Line 47:
 || Access_tokens of 3rd party will be stored in Memory against a key which will be stored in cookie of users browser||  || Access_tokens of 3rd party will be stored in Memory against a key which will be stored in cookie of users browser (ONLY IN LOCAL VERSION)||
Line 49: Line 49:
 || Storing calendar files in json document mapped with userID||
Line 51: Line 50:
 || Online calendar and option to set Email reminders ||  || Online calendar and Graphs||
 || Securing it against sql injec
tion attacks ||
Line 56: Line 56:
 * '''Synopsis''': It will be an Online Task and Event management system for Developers/Users that can be used along with FB,Google,Github,nagi-os issus etc to keep track of everything in one place with some beautiful User Interface  * '''Synopsis''': It will be an Online Task and Event management system for Developers/Users that can be used along with Google,Github,nagios issus etc to keep track of everything in one place with some beautiful User Interface
Line 58: Line 58:
 * '''Benefits to Debian''': Help to developer community, Developers can keep track of all the events happening in their life as well as their code issues, task managemet into single calendar. General purpose benifits for Debian  * '''Benefits to Debian''': Help to developer community, Developers can keep track of all the events happening in their life as well as their code issues, task management into single calendar. General purpose benefits for Debian
Line 60: Line 60:
 * '''Deliverables''': Maintain project as well as resolve the bugs in it even after GSOC, Write blog posts about how to use it efficiently, how to extend this project etc.  * '''Deliverable''': Maintain project as well as resolve the bugs in it even after GSOC, Write blog posts about how to use it efficiently, how to extend this project etc.
Line 66: Line 66:
||First 2 weeks:|| || Login and Signup System for users (Developers)||
||3-4 week:|| ||Preparing the base structre, Databases and caching system||
||5-7 week:|| || ''Facebook, Github, Google calendar and Twitter syncronization of calendar events/tasks''||
||8th week:|| || Giving option to manually upload iCalendar files, or ability to fetch it from specified url and store in DB.||
||upto 10th week:|| || Option to manually add event, task, or todo List on the dashboard itself.||
||11th Week:|| ||Building an online calendar with all the data, ability to download iCalendar file with all the merged data.||
||First week:|| || improving the information about Debian bugs in the iCalendar feed, Adding some structuring||

||2-5 week:|| ||Explore data sources including debian events ||
||5-7 week:|| || '' Github(public/private), Google calendar, nagios synchronization of calendar events/tasks''||
||8th week:|| || Pulling data from UDD/DMD ||
||upto 10th week:|| || Pulling data from direct iCal link ||
||11th Week:|| ||Building an online calendar with all the data, beautiful charts, graphs showing increase/decrease in activity, ability to download iCalendar file with all the merged data.||
Line 80: Line 81:
 * Are you applying for other projects in SoC? : No, One other proposal to Debian but it does not belong to any category. Hence this is the only proposal I am working for [[https://wiki.debian.org/SummerOfCode2015/StudentApplications/PythonHorizon]]  * Are you applying for other projects in SoC? : No, One other proposal to Debian but it does not belong to any category. Hence this is the only proposal I am working for.

Student Application : Developer Dashboard

  • Name: Harsh Daftary

  • Contact/Email: info@securitylabs.in and My Blog

  • First language : I am comfortable with both English and Hindi.

  • Background: I am from Mumbai, India and I am currently 2nd year Engineering Student pursuing B.tech in computer science. I have fair amount of experience in Python and Scala, have knowledge of NoSQL database, Multiprocessing, packaging, docker, actualization etc. I have experience in building rest-api for advertising company using python-flask-redis (JSON and XML)

Have fair knowledge of using API's like Facebook,Github, Authy etc. research paper on shellcode Reverse engineering : http://www.exploit-db.com/wp-content/themes/exploit/docs/33429.pdf and http://www.slideshare.net/harshzz/shellcode-disassembling-tpp


Detailed info about my commercial as well as open source work at My Projects

Online Profile: SO profile Github Profile Quora Profile


  • Patches : As suggested by respected mentor (Daniel) I have coded the patches for the project iCalendar

  • Project title: Developer Dashboard or Developer Horizon.

  • Project details: A dashboard for developers where they can manage the tasks, events, TODO lists by simple UI built over rest api in python. Developer can connect their github, Debian DMD UDD , and nagios, so that all the events from this websites can be located at one place, also developer or user can add/remove/schedule events and tasks manually. Will be using some part of the code by mentor (Daniel) of icalendar-github for fetching issues of repositories and adding them as todo lists. Also on the Dashboard there will be graph of completed tasks/events vs pending tasks. User can set email reminders for particular event/task.

Also dashboard will have an option of importing(By uploading and exporting the data in iCalendar format. Any other feature can be added if mentor suggests and time permits.

  • Technologies:

    1 Python-Flask for rest API.

    2 SQLite3 with SQLalchemy.

    3 REDIS/Memcache for caching and Session handling

    4 ?PyGraph for generating Graph results.

    5 HTML CSS and angular JS to consume the API and making Interface.

  • How it would work:

    REST api for Connecting third party scripts

    Fetching issues from github,nagiOS,Mantis

    Fetching existing events and schedule from Google Calendar

    Combining all this into single calendar file

    basic data in sqlite3

    Output data will be cached for 30-45 seconds and stored in REDIS

    Access_tokens of 3rd party will be stored in Memory against a key which will be stored in cookie of users browser (ONLY IN LOCAL VERSION)

    CSRF tokens will be used on required pages

    Front end in AngularJS css3 to consume the Rest-API

    Online calendar and Graphs

    Securing it against sql injection attacks

    Desktop notification system supported by Chrome will be also there

Any suggestion and ideas are most welcome

  • Synopsis: It will be an Online Task and Event management system for Developers/Users that can be used along with Google,Github,nagios issus etc to keep track of everything in one place with some beautiful User Interface

  • Benefits to Debian: Help to developer community, Developers can keep track of all the events happening in their life as well as their code issues, task management into single calendar. General purpose benefits for Debian

  • Deliverable: Maintain project as well as resolve the bugs in it even after GSOC, Write blog posts about how to use it efficiently, how to extend this project etc.

  • Work hours: India, 8:30am - 12:30pm (IST) & 3:30pm- 7:30pm (IST)

  • Project schedule: As soon as Gsoc-15 coding period starts by 25th May. (Can start early as well if required)

PERIOD

Work Progress

First week:

improving the information about Debian bugs in the iCalendar feed, Adding some structuring

2-5 week:

Explore data sources including debian events

5-7 week:

Github(public/private), Google calendar, nagios synchronization of calendar events/tasks

8th week:

Pulling data from UDD/DMD

upto 10th week:

Pulling data from direct iCal link

11th Week:

Building an online calendar with all the data, beautiful charts, graphs showing increase/decrease in activity, ability to download iCalendar file with all the merged data.

Finalizing :

Testing, Debugging and Packaging of code for final evaluation


  • Other summer plans: No plans as such, I will be easily contributing 40-45 hours a week for project.

  • Why Debian?: I was always fan of apt-get over yum and that was the reason I turned towards using Debian 2 years ago. Then I got chance to attend Mini-DebConf on January 17, 2015 which really changed my perspective towards Debian after meeting couple of contributors and learning from their experience I would like to give something back to community. Immense liking towards Debian is still the main reason.

  • Melange link: link

  • Are you applying for other projects in SoC? : No, One other proposal to Debian but it does not belong to any category. Hence this is the only proposal I am working for.