Differences between revisions 4 and 5
Revision 4 as of 2015-04-03 08:10:18
Size: 6122
Editor: ?Harsh Daftary
Comment:
Revision 5 as of 2015-04-03 08:11:38
Size: 6172
Editor: ?Harsh Daftary
Comment:
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
 || Securing it against sql injection attacks ||

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 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)

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

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 MYSQL or SQLite3 with SQLalchemy.

    3 REDIS/Memcache for caching and Session handeling

    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 Login,signup, Connecting third party Apps

    Fetching issues from github,nagiOS,Mantis

    Fetching existing events and schedule from Google Calendar,Facebook, linkedIN etc.

    Combining all this into single calendar file

    Sensitive data stored in MySQL or 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

    CSRF tokens will be used on required pages

    Storing calendar files in json document mapped with userID

    Front end in AngularJS css3 to consume the Rest-API

    Online calendar and option to set Email reminders

    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 FB,Google,Github,nagi-os 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 managemet into single calendar. General purpose benifits for Debian

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

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

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 https://wiki.debian.org/SummerOfCode2015/StudentApplications/PythonHorizon