🚧 Major refactor of backend code.

Relevant changes:

- ring -> vertx
- suricatta -> vertx-pgsql
- emails improvements
- logging
- hybrid sync/async -> full async execution model
- database layout refactor
This commit is contained in:
Andrey Antukh 2019-11-18 11:52:57 +01:00
parent 73753ce071
commit e9b00339a5
134 changed files with 5394 additions and 6598 deletions

View file

@ -0,0 +1,14 @@
<html>
<body>
<section style="font-family: Monoid, monospace; font-size: 14px;">
<h1>Available Emails:</h1>
<ul>
{{#emails}}
<li>
<a href="/debug/emails/{{ id }}">{{id}}</a>
</li>
{{/emails}}
</ul>
</section>
</body>
</html>

View file

@ -11,7 +11,31 @@ UXBOX team.
-- end
-- begin :body-html
<p>Hello {{user}}!</p>
<p>Welcome to UXBOX.</p>
<p>UXBOX team.</p>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<meta content="width=device-width" name="viewport" />
<title>title</title>
{{> ../partials/inline_style }}
</head>
<body bgcolor="#f6f6f6" cz-shortcut-listen="true">
<table class="body-wrap">
<tbody>
<tr>
<td></td>
<td bgcolor="#FFFFFF" class="container">
<div class="logo">
<img alt="UXBOX" src="{{#static}}images/email/logo.png{{/static}}" />
</div>
<p>Hello {{user}}!</p>
<p>Welcome to UXBOX.</p>
<p>UXBOX team.</p>
</td>
<td></td>
</tr>
</tbody>
</table>
{{> ../partials/en/footer }}
</body>
</html>
-- end

View file

@ -0,0 +1,46 @@
<table class="footer-wrap">
<tbody>
<tr>
<td></td>
<td class="container">
<div class="content">
<table>
<tbody>
<tr>
<td>
<div style="text-align: center;">
<a href="#" target="_blank">
<img src="{{#static}}images/email/twitter.png{{/static}}"
style="display: inline-block; width: 25px; margin-right: 5px;" />
</a>
<a href="#" target="_blank">
<img src="{{#static}}images/email/github.png{{/static}}"
style="display: inline-block; width: 25px; margin-right: 5px;" />
</a>
<a href="#" target="_blank">
<img src="{{#static}}images/email/linkedin.png{{/static}}"
style="display: inline-block; width: 25px; margin-right: 5px;" />
</a>
</div>
</td>
</tr>
{{#comment}}
<tr>
<td align="center">
<p>
<span>Sent from UXBOX | </span>
<a href="#" target="_blank">
<unsubscribe>Email preferences</unsubscribe>
</a>
</p>
</td>
</tr>
{{/comment}}
</tbody>
</table>
</div>
</td>
<td></td>
</tr>
</tbody>
</table>

View file

@ -0,0 +1,6 @@
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<meta content="width=device-width" name="viewport" />
<title>title</title>
{{> inline_style }}
</head>

View file

@ -0,0 +1,162 @@
<style>
/* GLOBAL */
* {
margin:0;
padding:0;
font-family: Arial, sans-serif;
font-size: 100%;
line-height: 1.6;
}
img {
max-width: 100%;
width: 100%;
}
.img-header {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
body {
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:none;
width: 100%!important;
height: 100%;
}
/* ELEMENTS */
a {
color: #78dbbe;
text-decoration:none;
font-weight: bold;
}
.btn-primary {
text-decoration:none;
color: #fff;
background-color: #78dbbe;
padding: 10px 30px;
font-weight: bold;
margin: 20px 0;
text-align: center;
cursor: pointer;
display: inline-block;
border-radius: 4px;
}
.btn-primary:hover {
color: #FFF;
background-color: #8eefcf;
}
.last {
margin-bottom: 0;
}
.first{
margin-top: 0;
}
.logo {
background-color: #f6f6f6;
padding: 10px;
text-align: center;
padding-bottom: 25px;
}
.logo h2 {
color: #777;
font-size: 20px;
font-weight: bold;
margin-top: 15px;
}
.logo img {
max-width: 150px;
}
/* BODY */
table.body-wrap {
width: 100%;
padding: 20px;
}
table.body-wrap .container{
border-radius: 5px;
color: #ababab;
}
/* FOOTER */
table.footer-wrap {
width: 100%;
clear:both!important;
}
.footer-wrap .container p {
font-size: 12px;
color:#666;
}
table.footer-wrap a{
color: #999;
}
/* TYPOGRAPHY */
h1,h2,h3{
font-family: Arial, sans-serif;
line-height: 1.1;
margin-bottom:15px;
color:#000;
margin: 40px 0 10px;
line-height: 1.2;
font-weight:200;
}
h1 {
color: #777;
font-size: 28px;
font-weight: bold;
}
h2 {
font-size: 24px;
}
h3 {
font-size: 18px;
}
p, ul {
margin-bottom: 10px;
font-weight: normal;
}
ul li {
margin-left:5px;
list-style-position: inside;
}
/* RESPONSIVE */
/* Set a max-width, and make it display as block so it will automatically stretch to that width, but will also shrink down on a phone or something */
.container {
display: block !important;
max-width: 620px !important;
margin: 0 auto !important; /* makes it centered */
clear: both !important;
}
/* This should also be a block element, so that it will fill 100% of the .container */
.content {
padding: 20px;
max-width: 620px;
margin: 0 auto;
display: block;
}
/* Let's make sure tables in the content area are 100% wide */
.content table {
width: 100%;
}
</style>