Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions api/auth/forgot.controllers.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func ForgotUserPassword(c *gin.Context) {

emailReq := mail.EmailRequest{
To: []string{result.Email},
Subject: "Password Reset OTP - Anokha 2026",
Subject: "Password Reset OTP - Pragati 2026",
Type: "otp",
Data: &mail.OTPTemplateData{
UserName: result.Name,
Expand Down Expand Up @@ -233,7 +233,7 @@ func ResendPasswordChangeOtp(c *gin.Context) {

emailReq := mail.EmailRequest{
To: []string{email},
Subject: fmt.Sprintf("Resend Password Reset OTP - Anokha 2026 - %d", time.Now().UnixMilli()),
Subject: fmt.Sprintf("Resend Password Reset OTP - Pragati 2026 - %d", time.Now().UnixMilli()),
Type: "otp",
Data: &mail.OTPTemplateData{
UserName: result.Name,
Expand Down
6 changes: 3 additions & 3 deletions api/auth/register.controllers.go
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ func RegisterUserAccount(c *gin.Context) {

err = mail.Mail.Enqueue(&mail.EmailRequest{
To: []string{req.Email},
Subject: "OTP - Anokha 2026",
Subject: "OTP - Pragati 2026",
Type: "otp",
Data: &mail.OTPTemplateData{
UserName: req.Name,
Expand Down Expand Up @@ -272,7 +272,7 @@ func VerifyUserOtp(c *gin.Context) {

err = mail.Mail.Enqueue(&mail.EmailRequest{
To: []string{result.Email},
Subject: "Welcome to Anokha 2026",
Subject: "Welcome to Pragati 2026",
Type: "welcome",
Data: &mail.WelcomeTemplateData{
UserName: result.Name,
Expand Down Expand Up @@ -330,7 +330,7 @@ func ResendUserOtp(c *gin.Context) {
// Resend OTP via Mail
emailReq := mail.EmailRequest{
To: []string{email},
Subject: fmt.Sprintf("Resend OTP - Anokha 2026 - %d", time.Now().UnixMilli()),
Subject: fmt.Sprintf("Resend OTP - Pragati 2026 - %d", time.Now().UnixMilli()),
Type: "otp",
Data: &mail.OTPTemplateData{
UserName: results.Name,
Expand Down
2 changes: 1 addition & 1 deletion api/booking/verify.controllers.go
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ func VerifyTransaction(c *gin.Context) {

err = mail.Mail.Enqueue(&mail.EmailRequest{
To: []string{},
Subject: "Event Registration - Anokha 2026",
Subject: "Event Registration - Pragati 2026",
Type: "event-reg",
Data: &mail.RegistrationData{
UserName: student.Name,
Expand Down
220 changes: 127 additions & 93 deletions pkg/template/event-registration.html
Original file line number Diff line number Diff line change
@@ -1,177 +1,211 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Anokha 2026 - Registration Confirmation</title>
<title>Pragati ’26 – Registration Confirmation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<style>
/* Reset & base styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Poppins", "Segoe UI", Tahoma, Geneva, sans-serif;
}

body {
background-color: #fffdea; /* Soft light yellow */
color: #333;
padding: 20px;
background-color: #0a0a0a;
padding: 25px 15px;
color: #ffffff;
font-family: Arial, Helvetica, sans-serif;
}

.container {
max-width: 640px;
max-width: 650px;
margin: auto;
background: #ffffff;
padding: 35px;
border-radius: 12px;
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
border-left: 8px solid #facc15;
background: #1a1a2e;
border: 3px solid #d4202a;
}

.header-img {
.header {
background: #d4202a;
padding: 28px 20px;
text-align: center;
margin-bottom: 20px;
}

.header-img img {
height: 80px;
.header h1 {
font-family: "Courier New", Consolas, monospace;
font-size: 24px;
color: #e8b923;
letter-spacing: 2px;
font-weight: bold;
margin-bottom: 8px;
}

.header p {
font-size: 16px;
color: #ffffff;
letter-spacing: 1px;
}

.content {
padding: 34px;
}

.content h2 {
font-size: 24px;
color: #1f2937;
margin-bottom: 16px;
font-family: "Courier New", Consolas, monospace;
font-size: 13px;
color: #e8b923;
margin-bottom: 20px;
text-align: center;
letter-spacing: 1px;
font-weight: bold;
}

.content p {
font-size: 16px;
color: #4b5563;
margin-bottom: 18px;
line-height: 1.6;
margin-bottom: 18px;
color: #e5e5e5;
}

.highlight {
color: #e8b923;
font-weight: bold;
}

.event-summary {
background-color: #fefce8;
border-left: 4px solid #facc15;
border-radius: 10px;
padding: 15px 20px;
margin: 20px 0;
.summary-box {
background: #162447;
border-left: 5px solid #e8b923;
padding: 18px 22px;
margin: 25px 0;
}

.event-summary p {
margin: 6px 0;
.summary-box p {
font-size: 15px;
margin-bottom: 8px;
color: #ffffff;
}

.footer {
margin-top: 30px;
font-size: 14px;
color: #6b7280;
text-align: center;
.info-box {
background: #0f172a;
border: 2px dashed #d4202a;
padding: 20px;
margin: 30px 0;
}

.footer p {
margin-bottom: 8px;
.info-box p {
font-size: 15px;
margin-bottom: 10px;
line-height: 1.5;
color: #ffffff;
}

.contact-link {
color: #d97706;
.link {
color: #e8b923;
text-decoration: none;
font-weight: 500;
font-weight: bold;
}

.contact-link:hover {
.link:hover {
text-decoration: underline;
}

@media (max-width: 600px) {
.container {
padding: 25px;
}
.footer {
background: #0a0a0a;
border-top: 3px solid #d4202a;
padding: 22px 20px;
text-align: center;
}

.footer p {
font-size: 14px;
color: #aaaaaa;
line-height: 1.6;
}

.content h2 {
font-size: 20px;
.footer strong {
font-family: "Courier New", Consolas, monospace;
font-size: 13px;
color: #e8b923;
letter-spacing: 1px;
font-weight: bold;
}

@media (max-width: 600px) {
.content {
padding: 24px;
}
}
</style>
</head>

<body>
<div class="container">
<div class="header-img">
<img
src="https://z8zpxxhr4u.ufs.sh/f/a50ALO7tkuEHROc2RQ2LzkZWMT7gKYsJ21pBfPUrFyAxE8Ib"
alt="Anokha Logo"
/>
<div class="header">
<h1>PRAGATI 2026</h1>
<p>Registration Confirmation</p>
</div>

<div class="content">
<h2>Dear {{.UserName}},</h2>
<h2>WELCOME TO PRAGATI 2026</h2>

<p>Dear <span class="highlight">{{.UserName}}</span>,</p>

<p>
Thank you for registering for <strong>{{.EventName}}</strong> at
<strong>Anokha 2026</strong>! We're excited to have you participate in
this exciting event as part of our annual tech fest at Amrita Vishwa
Vidyapeetham, Coimbatore.
Thank you for registering for
<span class="highlight">{{.EventName}}</span> as part of
<span class="highlight">Pragati '26</span>, the annual management fest
of Amrita School of Business, Coimbatore.
</p>

<div class="event-summary">
<p><strong>Event:</strong> {{.EventName}}</p>
<p><strong>Date:</strong> {{.EventDate}}</p>
<p><strong>Time:</strong> {{.EventTime}}</p>
<p><strong>Location:</strong> {{.EventLocation}}</p>
<div class="summary-box">
<p><strong>📌 Event:</strong> {{.EventName}}</p>
<p><strong>📅 Date:</strong> {{.EventDate}}</p>
<p><strong>Time:</strong> {{.EventTime}}</p>
<p><strong>📍 Venue:</strong> {{.EventLocation}}</p>
</div>

<div class="event-summary">
<p><strong>Important Instructions:</strong></p>
<div class="info-box">
<p><strong>Important Information:</strong></p>
<p>
<strong>• ID Requirement:</strong> Please note that a valid college
ID card is mandatory for entry into the campus and to attend Anokha
2026, applicable to both Amrita and non-Amrita students.
• A valid college ID card is mandatory for entry into the campus for
all participants.
</p>
<p>
<strong>• Accommodation:</strong> Please check the provided link to
register and know more about accommodation:
<a
href="https://anokha.amrita.edu/accommodation"
class="contact-link"
>https://anokha.amrita.edu/accommodation</a
>.
• Please arrive at the venue at least 15 minutes prior to the event
start time.
</p>
<p>
<strong>• Payment Mode (Accommodation Charges):</strong> For
accommodation charges, please note that only UPI payments will be
allowed during the on-spot allotment process.
• For accommodation-related details, please visit:
<a href="https://pragati.amrita.edu/accommodation" class="link"
>pragati.amrita.edu/accommodation</a
>
</p>
</div>

<p>
Please arrive at the venue at least 15 minutes early. If your event is
online, a link and additional instructions will be emailed to you
shortly.
</p>

<p>
We hope this event enriches your Anokha 2026 experience. Stay tuned
for more updates, and don't forget to explore other events and
workshops!
We look forward to your participation and hope Pragati '26 proves to
be an enriching and memorable experience for you.
</p>

<p>
Warm regards,<br />
<strong>WMD Team</strong><br />
Anokha 2026<br />
Amrita Vishwa Vidyapeetham<br />
Coimbatore Campus
<strong>Team Pragati '26</strong><br />
Amrita School of Business<br />
Coimbatore
</p>

<p>
If you have any questions or need support, contact us at
<a href="mailto:anokhapr@cb.amrita.edu" class="contact-link"
>anokhapr@cb.amrita.edu</a
For any queries, feel free to contact us at
<a href="mailto:pragatiinfo@cb.amrita.edu" class="link"
>pragatiinfo@cb.amrita.edu</a
>.
</p>
</div>

<div class="footer">
<p>© 2026 Pragati. All rights reserved.</p>
</div>
</div>
</body>
</html>
Loading