summaryrefslogtreecommitdiff
path: root/template/gsoc-codeless.html.j2
blob: c2c297a789f7a7aeeed3c5dda704221a85c6d686 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
{% extends "common/base.j2" %}
{% block body_content %}
  <div class="jumbotron">
    <div class="container text-center">
      <h1>{{ _("GSoC 2018: Codeless Payment") }}</h1>
      <h6>{{ _("Implemented by Shivam Kohli as part of GSoC 2018 under the mentoring and guidance of Florian Dold.") }}</h6>
    </div>
  </div>

  <div class="container">
    <div class="col-lg-12">
      <h2 id="overview">{{ _("Overview") }}</h2>
      <p>
        {% trans %}
          Codeless payment is a component that sits between the seller&#39;s
          frontend and the GNU Taler merchant backend. This component has a
          web interface, where payment buttons are configured. Registered
          merchants can manage their inventory and simultaneously create a
          &#39;Buy Now&#39; button for a specific product. This code can be directly
          copy pasted on the seller&#39;s frontend and can be used for &#39;Pay with
          Taler&#39;.
        {% endtrans %}
      </p>
    </div>
  </div>

  <div class="container">
    <div class="col-lg-6">
      <h2 id="overview">{{ _("Use Cases") }}</h2>
      <p>
        {% trans %}
          The various use cases and features of codeless payment are:
        {% endtrans %}
      </p>
      <ul>
        <li>
          {% trans %}
            The primary use case is the registration of the merchant. The
            codeless payment backend provides a secure django authenticated
            login to the merchant. The registered merchant can add inventory
            (both digital as well as physical) in their stocks. They can
            manage inventory and simultaneously create a 'Buy Now' button for
            the product. The merchant also monitors the orders placed and
            updates the status of the order which helps in shipment tracking.
          {% endtrans %}
        </li>
        <li>
          {% trans %}
            A merchant has the flexibility to add two types of inventory as follows:
          {% endtrans %}
          <ul>
            <li>
              {% trans %}
                The merchant can upload digital inventory (like a PDF or HTML
                page) via the codeless payments frontend and the user can then
                purchase it and view the version hosted by the codeless
                payment frontend.
              {% endtrans %}
            </li>
            <li>
              {% trans %}
                The merchant can add any physical inventory available in his
                stocks. While adding these inventory, the seller is prompted
                to add minimum quantity of product that is required to be
                maintained in the stock. Whenever the stocks run below this
                limit the seller would be notified (currently this feature has
                not been added but soon email notification would be added).
              {% endtrans %}
            </li>
          </ul>
        </li>
        <li>
          {% trans %}
            The buyers will access the seller's frontend where the code for
            the 'Buy Now' button is present. When this button is triggered,
            they are redirected to codeless payment backend and eventually
            redirected to the payment page. After successful payment, the
            buyer can also track their shipment for physical products or
            view the digital version hosted by the codeless payment
            frontend.
          {% endtrans %}
        </li>
        <li>
          {% trans %}
            The other use case of the codeless payment backend is to handle
            the event when the 'Buy Now' button is triggered on the seller's
            frontend. To perform the payment the backend communicates with
            merchant backend api. After successful payment, the users are
            redirected to the fulfilment page.
          {% endtrans %}
        </li>
      </ul>
      <h2 id="overview">{{ _("Dynamic Merchant Instance") }}</h2>
      <p>
        {% trans %}
          The documentation for the API to dynamically manage merchant
          instance can be found
          <a href="https://docs.taler.net/api/api-merchant.html#dynamic-merchant-instance">here</a>.
        {% endtrans %}
      </p>
    </div>
    <div class="col-lg-6">
      <img src="{{ url_static('images/UseCaseDiagram.png') }}" alt="{{ _("Use Case Diagram")}}" style="float: right; margin: 5px 5px 5px 5px;" width="100%">
    </div>
  </div> <!-- /container -->

  <div class="container-fluid c_acronym">
    <div class="container">
      <h2 id="documentation">{{ _("Link to the contributions made") }}</h2>
      <p>
      </p>
      <ul>
        <li>{{ _("Codeless Payment Backend") }}
          (<a href="https://git.taler.net/codeless.git/">{{ _("Link")}}</a>)
        </li>
        <li>{{ _("Documentation to dynamically manage Merchant Instances") }}
          (<a href="https://git.taler.net/api.git/commit/?id=53b3fbc3a882975b4ca8ef70d7ae256c9c17a23e">{{ _("Link")}}</a>)
        </li>
      </ul>
      <p>
      </p>
    </div>
  </div>

  <div class="container">
    <div class="col-lg-12">
      <h2 id="overview">{{ _("Future Work") }}</h2>

      <p>
        {% trans %}
          The backend of codeless payment is very robust and can be easily
          extended as per the requirements. It is adaptive to add new features
          to this framework. But as per the discussion and the scope of this
          project, there are various features that will be soon added in the
          Codeless Merchant Backend. The list of future work is as follows:
        {% endtrans %}
      </p>
      <ul>
        <li>
          {% trans %}
            To send email notification to the merchant when the stocks run
            below a certain limit. The minimum quantity required to be
            maintained in the stocks is currently taken from the
            merchant(specific to each product) but no such notification system
            is designed.
          {% endtrans %}
        </li>

        <li>
          {% trans %}
            To add API access to the merchant backend via the codeless payment
            service. Basically, it would be used as a hosting platform for
            multiple merchants. There would be an additional user interface
            part in the codeless payment service where a logged-in merchant
            can generate an API key. This API key can be used to access the
            functionality of the merchant backend in a controlled way. After
            requesting an API key, the page would display the generated key
            and a base URL for the API to use by the seller, which is handled
            by the codeless payments service.
          {% endtrans %}
        </li>

        <li>
          {% trans %}
            Mapping every seller account to a separate merchant backend
            instance. This is not required for a simple version of codeless
            payments, but as soon as API access for sellers, this is a useful
            feature. The codeless payment service then can also double as a
            hosting service for merchants.
          {% endtrans %}
        </li>

        <li>
          {% trans %}
            To add various analytics for the merchant. Various analysis
            could be performed on the orders placed for the respective
            merchant. Some of the analysis that can be performed are
            displaying the most frequently purchased product, some insights
            about the shipment tracking, analysis of products based on
            delivery location, etc. For this part, dicussions and some more
            research have to be done before proceeding to the
            implementation.
          {% endtrans %}
        </li>
      </ul>
    </div>
  </div> <!-- /container -->

  <div class="container">
    <div class="row">
      <h2 id="documentation">{{ _("Screenshots") }}</h2>
      <div class="col-lg-4">
        <h3>{{ _("Home page")}}</h3>
        <img src="{{ url_static('images/home.png') }}" height="240" align="middle">
      </div>
      <div class="col-lg-4">
        <h3>{{ _("Product page")}}</h3>
        <img src="{{ url_static('images/product.png') }}" height="240" align="middle">
      </div>
      <div class="col-lg-4">
        <h3>{{ _("Shipment Tracking")}}</h3>
        <img src="{{ url_static('images/shipment.png') }}" height="240" align="middle">
      </div>
    </div>
  </div>
{% endblock body_content %}