ソースを参照

import upi link blogs, minor frontpage changes

pull/1/head
Rohan Verma 6年前
コミット
9ccdbaca8e
6個のファイルの変更182行の追加4行の削除
  1. +7
    -0
      assets/css/custom.css
  2. +1
    -1
      config.toml
  3. +26
    -0
      content/blog/2019-02-03-bcb-presentation.md
  4. +91
    -0
      content/blog/2019-02-17-progress-update-1-upilink.md
  5. +51
    -0
      content/blog/2019-02-24-progress-update-2-upilink.md
  6. +6
    -3
      layouts/index.html

+ 7
- 0
assets/css/custom.css ファイルの表示

@@ -23,6 +23,9 @@ body {
a[rel*="external"]::after {
content: " " url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20class='i-external'%20viewBox='0%200%2032%2032'%20width='14'%20height='14'%20fill='none'%20stroke='%23ff9800'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='9.38%'%3E%3Cpath%20d='M14%209%20L3%209%203%2029%2023%2029%2023%2018%20M18%204%20L28%204%2028%2014%20M28%204%20L14%2018'/%3E%3C/svg%3E");
}
nav a {
padding: 2px;
}
nav a.active {
background-color: inherit;
color: #000;
@@ -65,4 +68,8 @@ a:hover {
border-style: solid;
height: 4rem;
width: 4rem;
}

small {
font-weight: 400;
}

+ 1
- 1
config.toml ファイルの表示

@@ -1,6 +1,6 @@
baseurl = "https://rohanverma.net/" # Controls base URL sitewide
languageCode = "en-US" # Controls site language
title = "rohanverma.net" # Homepage title and page title suffix
title = "Rohan Verma" # Homepage title and page title suffix
paginate = 11 # Number of posts to show before paginating
disqusShortname = "rhnvrm"
googleAnalytics = "UA-90695618-1"

+ 26
- 0
content/blog/2019-02-03-bcb-presentation.md ファイルの表示

@@ -0,0 +1,26 @@
---
title: Presentation about upi.link at Barcamp Bangalore - Techlash
author: Rohan Verma
type: post
date: 2019-02-03T12:38:24+00:00
url: blog/2019/02/03/presentation-bcb-upilink
categories:
- upi.link
---

I recently got a chance to talk about [upi.link](https://upi.link)during
[Techlash at Barcamp Bangalore](https://barcampbangalore.com/bcb/bcb-spring-2019/bcb-spring-2019-techlash/building-a-mobile-app-neutral-upi-request-link-generator-at-https-upi-link).
I got to tell people about having started this small project. Here is the link to my presentation:

<a href="https://upi.link/presentation/">Presentation</a>

A small summary of [upi.link](https://upi.link)

<blockquote>
Introducing [upi.link](https://upi.link), which is is a Payment Service Provider (PSP) neutral
UPI Request Link generator built upon the UPI Deeplinking Spec, enabling SMEs and individual users
to collect payments directly by sharing links on chat apps or embedding on their own websites,
without having to rely on building their own mobile apps and calling intents, making manual
UPI requests on PSP apps, tying up with service aggregators that charge fees, or even
purchasing licenses to APIs when they are just getting started.
</blockquote>

+ 91
- 0
content/blog/2019-02-17-progress-update-1-upilink.md ファイルの表示

@@ -0,0 +1,91 @@
---
title: upi.link - Progress Update 1
author: Rohan Verma
type: post
date: 2019-02-17T12:38:24+00:00
url: blog/2019/02/14/progress-update-1-upilink
categories:
- upi.link
---

## What am I building, in a sentence?

🔗upi.link: A programmable shortlink generator based on UPI (universal bank2bank payments service in 🇮🇳) sharable via social media & chat.

## What did I complete till now?

### Highlights

#### Deployed at [upi.link](https://upi.link)

I used AWS Free tier to deploy this website to reduce cost for hosting this. It uses AWS Lambda
Functions to generate shortlinks which
are stored inside Redis with a TTL of 3 Days. Authentication is
implemented using a postgres backend along with secure cookies for sessions.
I will port the lambda functions I wrote for
shortlink generation out of AWS Lambda
to my custom backend written in Golang as authentication. This is because
I have seen that the cold start for Lambdas is pretty slow for my use case and takes about
5-6 seconds which for the users seems like 10 seconds.

The frontend is written using Nuxt.js which is a Universal app framework on top of
Vue and is similar to what Next.js is for React. This was a neccessity for this use case
as I need the links shared on social media as well as chat with
HTML OG (Open Graph) tags to be populated dynamically based on their content. The only other option
was to write a static website served through templating either in Go (Go templates)
or Python (Django/Flask using Jinja templates), but then I would not be able to utilize
the rapid development offered by Vue/Nuxt. Also, I can now separate my API and frontend, maybe
totally host the API proxied via <a href="https://github.com/apex/up">Apex/Up</a>
and the frontend via
S3 buckets to reduce the cost to host the site.

#### Created a roadmap

I shared this project with a few friends and groups and lots of feature requests
as well ideas propped up. To keep a track of all these I created a public
<a href="//trello.com/b/VynO9sAk">Trello Board</a>. You can <a href="mailto:[email protected]">
email to the board </a> for adding more feature requests.

### Features

#### Donation Campaigns

One of the major features this week, I added a campaign collection feature.
The first campaign to be hosted is the <a href="https://upi.link/c/BharatKeVeer">#BharatKeVeer</a>
campaign which was launched to collect funds for contributing to the
wives of the CRPF Soldiers who lost their lives during the Pulwama terrorist attack.

#### Temp Link Generator

I updated the temporary link generator on the home page. Now you don't need to bother
with the Long Link and you can directly see the page.

#### Whatsapp/Telegram Share buttons

Buttons for sharing on Whatsapp and Telegram were added below the generated shortlink

#### UPI App compatible QR Code

QR code with the embeded Deeplinking Intent is now displayed on the
redirect page for people who open the link on their laptops/desktops
so that they can simply scan the link from their phone.

#### Emails via AWS SES

My SES request for sending emails was approved, I added the email button
behind authentication.

### 📌Misc

#### Progress Blogs

Well, this blog, honestly, I wanted to have a blog where I could track the progress on this
project but I did not want to have another setup on say Ghost/Wordpress. So again Nuxt came
to my rescue and now I just have to add a page to my Nuxt folder and it handles everything
else such as routing etc.

#### Recorded demo video 📹

You can view this video on [youtube](https://youtu.be/USK4UOn1Xkw)

<iframe width="100%" height="480" src="https://www.youtube.com/embed/USK4UOn1Xkw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

+ 51
- 0
content/blog/2019-02-24-progress-update-2-upilink.md ファイルの表示

@@ -0,0 +1,51 @@
---
title: upi.link - Progress Update 2
author: Rohan Verma
type: post
date: 2019-02-24T12:38:24+00:00
url: blog/2019/02/24/progress-update-2-upilink
categories:
- upi.link
---

## Highlights

I wanted to finish the underlying infrastructural things
so that I can start to focus on the higher level
features.

## Features

### Implemented User Profiles

Added support for <a href="https://upi.link/profile">user profiles</a> this week.
Now, I can extend the user authentication table with profile data.
Since, I want to store minimal data about the users on my server,
I have used gravatar to load the profile
photo and as of now no other information other than email is stored.
Maybe, next week based on user feedback
I might save the preferred UPI VPA so that the user does not have to
type it every time.

### Track generated links

Now users can track the permanent links they have generated so that
they don't have to create a new one every time.
This same feature will be used to display links on the public
profile which will be released next week. Also,
users will be able to edit and delete these as well soon so they
can be reused.

### Email preview

Now, you can preview the email that will be sent beside the
link generator on the <a href="https://upi.link/send">send page</a> in
real time. I will add support to the profile page to send
emails directly from there to multiple comma separated emails.

### Front page design

The home page has improved quite a lot from what we started,
now we have more details about the features and
a more clearer text explaining what upi.link aims to become.


+ 6
- 3
layouts/index.html ファイルの表示

@@ -6,12 +6,15 @@
{{ end }}
{{ define "main" }}
<header>
<h1>{{ .Title }}</h1>
<h1>{{ .Title }} <small>(rhnvrm)</small></h1>
</header>

<div class="leader">
<img src="/wp-content/uploads/me.jpg" class="myimage">
<div>Hello World 👋, I'm Rohan, and welcome to my homepage.</div>
<div>
Hello World 👋 <br>
Welcome to my homepage.
</div>
</div>

<br>
@@ -56,7 +59,7 @@
<br>
My blog is also available through <a href="https://rohanverma.net/blog/index.xml">[RSS]</a>
{{ end }}
{{ define "footer" }}
{{ partial "powered-by.html" . }}

読み込み中…
キャンセル
保存