GSOC Web Payments Application

Hello,

My name is Andrei Oprea and this is my application for the GSOC Web
Payments project

Name: Victor Andrei Oprea

Email: andrei.br92@gmail.com

Personal Website: n/a

Skype ID or SIP address: andrei_br92

IRC nick:

Github account: https://github.com/piatra

Phone number: +40758425036

School Name: Faculty of Automatic Control and Computer Science, University
POLITEHNICA of Bucharest

Years completed: 2

Programming Languages: JavaScript (Advanced), PHP (Intermediate), C/C++
(beginner), Java (beginner)

Project Description

Sending money on the internet today usually means having to rely on a
proprietary solution that is bounding you to a particular payment provider.
There are a number of payment solution out there today, but although
groundbreaking in the way they process payments compared to the traditional
approach that exists on the web, solution like Google Checkout and Paypal
are not interoperable. Payments should be fair, transparent and as easy as
sending an email. PaySwarm offers a solution to this problem being the
first standard for universal payments on the web.

The aim of this project is to create a developer example website based on
PaySwarm that is capable of selling access to Web Apps. It would have to be
fully documented, and offer all the steps involved with communicating with
the PaySwarm API from registration to the actual establishment of a payment
session and a purchase.

My proposed approach would be to use Nodejs for the application backend.
>From my experience in developing applications with it, it is easy to use,
extensible and well suited for writing and developing a REST API. Node also
allows you to easily make use of other open source projects, in this case a
definite requirement would be the jsonld module and it will make use of the
already existent payswarm
<https://github.com/digitalbazaar/payswarm.js>implementation.

The developer website would be a showcase for the ease of use of Web
Payments, how the process takes place and also see the steps involved if
they decide to opt in for this technology. The website would offer
developers a REST API and using cross site HTTP requests (CORS) it would
offer any web app the possibility to integrate with the PaySwarm solution
and enable them to sell access to their application. By making it easy to
issue requests to the developer website the application can validate the
payments made and confirm or deny access to their content.

At this time the Node module would come as an advantage for adoption, you
would have to type in npm install payswarm and you would get the same
library used on the website ready for integration in your Web App. I
believe the Node and JavaScript community in general is a great place to
start because working on the web often times involves being closer to the
“bleeding edge” of technology and they would be more inclined to test,
implement, and offer feedback on new technologies and standards. Therefor I
feel that the website should also cover on the subject of how other
developers can enable their website with PaySwarm for self-hosted solutions..

The scope of the project would include the website, a fully functioning
environment where people can test out web payments using the PaySwarm
authority, it would be capable of managing and issuing request to the
PaySwarm authority on behalf of the Web App enabling them to offer payed
access to content. It will also include a documentation website, possibly
in the form of a wiki with detailed steps on how to include and enable this
solution for your Web App. The project would be based of the payswarm
implementation already available on github, it could extend upon it with a
test suite and documentation on how others can implement this solution on
their website.

So far I have gone through all the articles on the W3C Web Payments
Community, the mailing list, I have looked at the Meritora project and
their implementation of PaySwarm and also I have installed and tested out
the payswarm <https://github.com/digitalbazaar/payswarm.js> implementation
for node.js from Github.

Potential Mentors

I have contacted Manu Sporny <msporny@digitalbazaar.com>

Milestones and deliverables schedule

June/17 - Devise a REST API scheme for the website that would cover all the
functionality, and interoperability with the PaySwarm authority; Confirm
with mentor; Validate against other Web Apps maybe with other developers

June/21 - Begin working on the server, implement basic functionality; Write
and tests and document the API; Write a dummy Web App that would showcase
the functionality achieved so far;

June/30 - Submit work for review & mid-term evaluation

Aug / 1 - Decide on a full set of feature that can be implemented until the
end of the program

Aug / 3  - Continue to expand on the functionality set for both the server

Aug / 20 - Expand the web app to take full advantage of the developer
website, showcase different uses

Sep / 1 - Features decided upon should be all available; Begin working on
the documentation for developers

Sept / 10 - Tests, code refactoring final changes that can make the deadline

Open Source Development Experience

I have a github account at https://github.com/piatra I have several open
source projects, most notably are

   -

   https://github.com/piatra/kreator.js online at http://piatra.jit.su it
   allows you to create presentations in the browser without writing HTML, CSS
   and JavaScript it is built upon another open source project
   https://github.com/hakimel/reveal.js/
   -

   https://github.com/piatra/webstrap online at
   http://webstrap.herokuapp.com/ it allows you to bundle all your required
   libraries for your next project in one place and download them as a zip
   without having to go to several websites everytime you want to test out
   something


Work Experience

I have been an intern at Adobe Romania for 7 months where I worked on the
TopCoat open source project https://github.com/topcoat/topcoat . I created
components for the framework and worked with Node and MongoDB to create a
benchmarking server for measuring out components across different releases.

Academic Experience

Academic Institution: Faculty of Automatic Control and Computer Science,
University POLITEHNICA of Bucharest

Current Program: BA in Computer Science, 2nd year

Anticipated Graduation: 2015

Academic Performance:

   -

   Data Structures 8
   -

   Object Oriented Programming 8
   -

   Algorithm Analysis 7
   -

   other courses that I’m currently taking
   -

      Algorithm Design
      -

      Programming Paradigms



GSOC for Credit: No


Why W3C

I have always been passionate about the web and this is what got me into
programming and made me decide to study Computer Science. At first I admit
I did not fully understand the work of the W3C. After I became more aware
of the environment and the people involved I chose some mentors which I
believed to be offering the right guidance in the web development
community, two of these people are Paul Irish and Lea Verou. I have seen
their implication and dedication for people to follow standards and keeping
the web open and this is what “opened my eyes” to the problems out there
and why the work of the W3C is so important. Also my recent internship at
Adobe showed me what it means to follow a specification and be involved in
web standards because I work alongside the people implementing CSS Regions.

After GSoC, you envision your involvement with W3C will be

I hope my involvement is just starting. I see this project as a window of
opportunity to get involved and have a better understanding of the W3C and
how I can give my contribution and help.

Received on Friday, 19 April 2013 16:52:37 UTC