Skip to content

Commit b45e056

Browse files
committed
feat:lots of Upgrade on the User Interace
1 parent 675c77b commit b45e056

4 files changed

Lines changed: 212 additions & 10 deletions

File tree

backend/docker-compose.prod.yml

Lines changed: 203 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,206 @@ services:
1515

1616
secrets:
1717
db_password:
18-
file: ./secrets/db_password.txt
18+
file: ./secrets/db_password.txt
19+
20+
21+
22+
23+
Project Title:
24+
Design a Unique Web3 Platform Website
25+
26+
Objective:
27+
Create a modern, visually striking, and user-friendly Web3 website that communicates innovation, decentralization, and trust. The design should feel futuristic yet simple to navigate, appealing to both crypto-native users and beginners.
28+
29+
30+
---
31+
32+
🎨 Design Style & Aesthetic
33+
34+
Futuristic, sleek, and minimalistic
35+
36+
Dark mode dominant (primary background: deep navy / black)
37+
38+
Glassmorphism + subtle Neumorphism elements
39+
40+
Soft glowing gradients (purple, blue, neon green accents)
41+
42+
Smooth animations and micro-interactions
43+
44+
Clean grid layout with plenty of whitespace
45+
46+
47+
48+
---
49+
50+
🎯 Target Feel
51+
52+
Innovative (like early-stage crypto startups)
53+
54+
Trustworthy (fintech-level credibility)
55+
56+
Community-driven (Web3 ethos)
57+
58+
Scalable and tech-forward
59+
60+
61+
62+
---
63+
64+
🧩 Core Sections to Design
65+
66+
1. Hero Section
67+
68+
Bold headline (clear value proposition)
69+
70+
Subheading explaining the platform in simple terms
71+
72+
CTA buttons (e.g., “Get Started”, “Join Early Access”)
73+
74+
Animated background (particles, blockchain nodes, or gradients)
75+
76+
77+
78+
2. About / What We Do
79+
80+
Short, digestible explanation of the platform
81+
82+
Use icons or illustrations for clarity
83+
84+
85+
86+
3. How It Works
87+
88+
3–4 step visual breakdown
89+
90+
Use cards or timeline layout
91+
92+
93+
94+
4. Features Section
95+
96+
Highlight key benefits (e.g., decentralization, security, speed)
97+
98+
Use glowing icons or 3D illustrations
99+
100+
101+
102+
5. Token / Ecosystem (if applicable)
103+
104+
Token utility explanation
105+
106+
Charts or visual indicators
107+
108+
109+
110+
6. Community / Social Proof
111+
112+
Testimonials or user stats
113+
114+
Logos of partners (if any)
115+
116+
117+
118+
7. Roadmap
119+
120+
Timeline with milestones
121+
122+
Interactive or scroll-based animation
123+
124+
125+
126+
8. FAQ Section
127+
128+
Collapsible accordion style
129+
130+
131+
132+
9. Footer
133+
134+
Social links (Discord, Twitter, Telegram)
135+
136+
Newsletter signup
137+
138+
Legal links
139+
140+
141+
142+
143+
144+
---
145+
146+
🎨 Color Palette
147+
148+
Primary: #0B0F1A (dark background)
149+
150+
Secondary: #6C5CE7 (purple)
151+
152+
Accent: #00F5D4 (neon green/cyan)
153+
154+
Optional gradient: Purple → Blue → Cyan
155+
156+
157+
158+
---
159+
160+
🔤 Typography
161+
162+
Headings: Bold, futuristic sans-serif (e.g., Space Grotesk, Sora)
163+
164+
Body: Clean and readable (e.g., Inter, Poppins)
165+
166+
Use large headings with strong hierarchy
167+
168+
169+
170+
---
171+
172+
🧠 UX Guidelines
173+
174+
Keep navigation simple and intuitive
175+
176+
Mobile-first responsive design
177+
178+
Fast-loading visuals
179+
180+
Clear CTA placement across sections
181+
182+
Avoid overwhelming users with too much crypto jargon
183+
184+
185+
186+
---
187+
188+
⚙️ Micro-Interactions & Animations
189+
190+
Hover effects with glow or gradient shift
191+
192+
Button animations (scale or pulse)
193+
194+
Smooth scrolling transitions
195+
196+
Loading animations (Web3-inspired, e.g., node connections)
197+
198+
199+
200+
---
201+
202+
🔐 Web3-Specific Elements
203+
204+
Wallet connect button (top right)
205+
206+
Network status indicator
207+
208+
Transaction feedback UI (success/error states)
209+
210+
211+
212+
---
213+
214+
📦 Deliverables
215+
216+
High-fidelity UI design (Figma or similar)
217+
218+
Style guide (colors, typography, components)
219+
220+
Responsive layouts (desktop, tablet, mobile).

backend/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "stellar-payment-api-backend",
2+
"name": "pluto-api",
33
"version": "0.1.0",
44
"private": true,
55
"type": "module",

backend/src/lib/webhooks.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ function signaturesEqual(a, b) {
104104
}
105105

106106
/**
107-
* Verifies a Stellar-Signature header against the merchant webhook secrets.
107+
* Verifies a PLUTO-Signature header against the merchant webhook secrets.
108108
* Accepts the current secret and, during grace window, the previous secret.
109109
*/
110110
export function verifyWebhook(rawBody, signatureHeader, merchant) {
@@ -210,7 +210,7 @@ function scheduleRetries(url, payload, headers, paymentId) {
210210
*
211211
* Accepted: plain object whose keys are safe ASCII header names and whose
212212
* values are non-empty strings.
213-
* Reserved system headers (Content-Type, User-Agent, Stellar-Signature) are
213+
* Reserved system headers (Content-Type, User-Agent, PLUTO-Signature) are
214214
* silently dropped to prevent merchants from overriding security controls.
215215
*
216216
* @param {unknown} raw The value stored in merchants.webhook_custom_headers.
@@ -223,7 +223,7 @@ export function sanitizeCustomHeaders(raw) {
223223
const RESERVED = new Set([
224224
"content-type",
225225
"user-agent",
226-
"stellar-signature",
226+
"pluto-signature",
227227
]);
228228

229229
const result = {};
@@ -272,13 +272,13 @@ export async function sendWebhook(url, payload, secret, paymentId = null, custom
272272
// Merchant custom headers first so system headers always take precedence.
273273
...sanitizeCustomHeaders(customHeaders),
274274
"Content-Type": "application/json",
275-
"User-Agent": "stellar-payment-api/0.1",
276-
"Stellar-Timestamp": timestamp
275+
"User-Agent": "pluto-api/0.1",
276+
"PLUTO-Timestamp": timestamp
277277
};
278278

279279
if (signingSecret) {
280280
const signature = signPayload(rawBody, signingSecret);
281-
headers["Stellar-Signature"] = `sha256=${signature}`;
281+
headers["PLUTO-Signature"] = `sha256=${signature}`;
282282
}
283283

284284
const isValid = await validateWebhookUrl(url);

0 commit comments

Comments
 (0)