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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Hack! with achieve by Petra
# UNICEF StartUp Lab Hack

Binary file added app/assets/images/neural-network.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions app/mailers/application_mailer.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class ApplicationMailer < ActionMailer::Base
default from: "Hack! with achieve by Petra <hackathon@theachieveapp.com>"
default from: "UNICEF StartUp Lab Hack <hack25@devcongress.io>"
layout "mailer"

def self.event_date
"Friday, March 28, 2025"
"Thursday, November 12, 2025"
end
end
2 changes: 1 addition & 1 deletion app/mailers/invitation_mailer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class InvitationMailer < ApplicationMailer
def send_invite
@url = confirm_invitation_url(token: @invitation.token)
mail to: @invitation.email,
subject: "🚀 You're Invited: Join #{@team.name} for Hack! with achieve by Petra 🚀"
subject: "🚀 You're Invited: Join #{@team.name} for UNICEF StartUp Lab Hack 🚀"
end

private
Expand Down
4 changes: 2 additions & 2 deletions app/mailers/team_mailer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ class TeamMailer < ApplicationMailer

def qualified_email
mail to: @recipient,
subject: "Congratulations! 🎉 #{@team.name} Is Qualified for Hack! with achieve by Petra"
subject: "Congratulations! 🎉 #{@team.name} Is Qualified for UNICEF StartUp Lab Hack"
end

def late_qualified_email
mail to: @recipient,
subject: "Update on Your Team's Qualification Status for Hack! with achieve by Petra"
subject: "Update on Your Team's Qualification Status for UNICEF StartUp Lab Hack"
end

private
Expand Down
2 changes: 1 addition & 1 deletion app/mailers/team_membership_mailer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ class TeamMembershipMailer < ApplicationMailer

def welcome_email
mail to: email_address_with_name(@hacker.email, @hacker.profile.name),
subject: "🌟 Welcome to Hack! with achieve by Petra, #{@hacker.profile.name}! 🚀"
subject: "🌟 Welcome to UNICEF StartUp Lab Hack, #{@hacker.profile.name}! 🚀"
end

private
Expand Down
10 changes: 5 additions & 5 deletions app/views/homepage/about.html.erb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<%= content_for :title, "About Us | Hack! with achieve by Petra" %>
<%= content_for :title, "About Us | UNICEF StartUp Lab Hack" %>

<div class="mx-auto max-w-3xl px-4 py-8 sm:py-16">
<!-- Event Details Grid -->
Expand Down Expand Up @@ -28,17 +28,17 @@
'BEGIN:VEVENT',
'DTSTART:20250314T190000',
'DTEND:20250316T140000',
'SUMMARY:Hack! with achieve by Petra',
'SUMMARY:UNICEF StartUp Lab Hack',
'DESCRIPTION:36-hour hackathon focused on Imagining the Future of Finance with AI. Prize pool of GHS 30,000. Bring your innovative ideas and join us for an exciting weekend of coding, learning, and networking!',
'LOCATION:Academic City Campus - https://maps.app.goo.gl/ZHyiNzri8G68ryL97',
'LOCATION: [TBD]',
'END:VEVENT',
'END:VCALENDAR'
].join('\n');

const blob = new Blob([icsContent], { type: 'text/calendar;charset=utf-8' });
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'hack-with-achieve.ics';
link.download = 'unicef-startup-lab-hack.ics';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
Expand Down Expand Up @@ -123,7 +123,7 @@
<h2 class="text-2xl font-bold text-gray-900">What to Expect</h2>
<div class="mt-6 space-y-6 text-gray-600">
<p>
Join us for an intensive 36-hour hackathon where you'll collaborate with fellow innovators to create cutting-edge solutions in fintech. Whether you're a seasoned developer or just starting your coding journey, Hack! with achieve by Petra provides the perfect platform to showcase your skills and learn from industry experts.
Join us for an intensive 36-hour hackathon where you'll collaborate with fellow innovators to create cutting-edge solutions in fintech. Whether you're a seasoned developer or just starting your coding journey, UNICEF StartUp Lab Hack provides the perfect platform to showcase your skills and learn from industry experts.
</p>
<p>
Throughout the event, you'll have access to mentors, technical workshops, and API integration support. Work alongside like-minded individuals, receive guidance from experienced professionals, and compete for exciting prizes worth GHS 30,000 in total!
Expand Down
30 changes: 15 additions & 15 deletions app/views/homepage/contact.html.erb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<%= content_for :title, "Contact Us | Hack! with achieve by Petra" %>
<%= content_for :title, "Contact Us | UNICEF StartUp Lab Hack" %>

<div class="mx-auto max-w-3xl px-4 py-8 sm:py-16">
<div class="bg-white rounded-2xl shadow-md border border-primary-100/50 px-6 py-12 sm:px-12">
Expand All @@ -14,28 +14,28 @@
<div class="space-y-6">
<h2 class="text-xl font-semibold text-gray-900">Connect With Us</h2>
<div class="flex flex-col space-y-4 sm:flex-row sm:space-x-4 sm:space-y-0 sm:items-center">
<a href="https://x.com/achievebypetra_" target="_blank" rel="noopener noreferrer"
<a href="https://x.com/devcongress" target="_blank" rel="noopener noreferrer"
class="flex items-center space-x-3 text-gray-600 hover:text-primary-600 transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
</svg>
<span>@theachieveapp</span>
<span>@DevCongress</span>
</a>

<a href="https://facebook.com/theachieveapp" target="_blank" rel="noopener noreferrer"
<a href="https://facebook.com/devcongress" target="_blank" rel="noopener noreferrer"
class="flex items-center space-x-3 text-gray-600 hover:text-primary-600 transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
</svg>
<span>theachieveapp</span>
<span>DevCongress</span>
</a>

<a href="https://www.instagram.com/theachieveapp/" target="_blank" rel="noopener noreferrer"
<a href="https://www.instagram.com/devcongress/" target="_blank" rel="noopener noreferrer"
class="flex items-center space-x-3 text-gray-600 hover:text-primary-600 transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/>
</svg>
<span>@theachieveapp</span>
<span>@DevCongress</span>
</a>
</div>
</div>
Expand Down Expand Up @@ -73,39 +73,39 @@
<!-- Emergency Contact -->
<div class="mt-16 bg-primary-50 rounded-xl p-6">
<h2 class="text-lg font-semibold text-primary-900">During the Event</h2>
<p class="mt-2 text-primary-700">Need immediate assistance during the hackathon? Our event coordinators will be available 24/7. Look for staff members in Achieve by Petra t-shirts.</p>
<p class="mt-2 text-primary-700">Need immediate assistance during the hackathon? Our event coordinators will be available 24/7. Look for staff members in UNICEF Startup Lab t-shirts.</p>
</div>

<!-- CTA -->
<div class="mt-12 text-center">
<p class="text-gray-600">Still have questions? Don't hesitate to reach out!</p>
<div class="mt-6 ">
<div class="flex flex-col space-y-4 sm:flex-row sm:space-x-4 sm:space-y-0 sm:items-center items-center justify-center">
<a href="https://x.com/achievebypetra_" target="_blank" rel="noopener noreferrer"
<a href="https://x.com/DevCongress" target="_blank" rel="noopener noreferrer"
class="flex items-center space-x-3 text-gray-600 hover:text-primary-600 transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
</svg>
<span>@theachieveapp</span>
<span>@DevCongress</span>
</a>

<a href="https://facebook.com/theachieveapp" target="_blank" rel="noopener noreferrer"
<a href="https://facebook.com/DevCongress" target="_blank" rel="noopener noreferrer"
class="flex items-center space-x-3 text-gray-600 hover:text-primary-600 transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
</svg>
<span>theachieveapp</span>
<span>DevCongress</span>
</a>

<a href="https://www.instagram.com/theachieveapp/" target="_blank" rel="noopener noreferrer"
<a href="https://www.instagram.com/devcongress/" target="_blank" rel="noopener noreferrer"
class="flex items-center space-x-3 text-gray-600 hover:text-primary-600 transition-colors duration-200">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/>
</svg>
<span>@theachieveapp</span>
<span>@DevCongress</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
2 changes: 1 addition & 1 deletion app/views/homepage/index.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
>
<div class="text-center">
<!-- Header -->
<%= image_tag "Logo-Main.svg", class: "w-64 inline-block", alt: "Event Logo" %>
<%= image_tag "neural-network.png", class: "w-64 inline-block", alt: "Event Logo" %>
<!-- Theme -->
<div class="mt-6">
<span
Expand Down
6 changes: 3 additions & 3 deletions app/views/invitation_mailer/send_invite.text.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Hi <%= @invitation.email %>,

<%= @owner.profile.name %> has handpicked you to join <%= @team.name %> for Hack! with achieve by Petra! 🎉
<%= @owner.profile.name %> has handpicked you to join <%= @team.name %> for UNICEF StartUp Lab Hack! 🎉
This is your exclusive chance to collaborate, innovate, and showcase your skills alongside some of the brightest minds in tech.
Here's What to Do Next:

Expand All @@ -15,10 +15,10 @@ Why Join?
✨ Network with industry experts: Learn from mentors, judges, and fellow innovators.
✨ Compete for exciting prizes: Win cash prizes, bragging rights, and more!

Let's make Hack! with achieve by Petra an unforgettable experience! 🚀
Let's make UNICEF StartUp Lab Hack an unforgettable experience! 🚀

Best regards,
The Hack! with achieve by Petra Team
The UNICEF StartUp Lab Hack Team

-----------------------------------------------------------
Important:
Expand Down
2 changes: 1 addition & 1 deletion app/views/invitations/confirm.html.erb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<%= content_for :title, "Join #{@team.name} | Hack! with achieve by Petra" %>
<%= content_for :title, "Join #{@team.name} | UNICEF StartUp Lab Hack" %>

<div class="mx-auto max-w-3xl px-4 py-8 sm:py-16">
<div class="bg-white rounded-2xl shadow-md border border-primary-100/50 px-6 py-12 sm:px-12">
Expand Down
35 changes: 11 additions & 24 deletions app/views/layouts/application.html.erb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<% app_name = "Hack! with achieve by Petra!"
<% app_name = "UNICEF StartUp Lab Hack!"

# Default meta values - can be overridden with content_for
meta_description =
"Join us for 36 hours of innovation at Hack! with achieve by Petra. Create cutting-edge fintech solutions while learning from industry experts. ₵30k+ in prizes!"
"Join us for 36 hours of innovation at UNICEF StartUp Lab Hack. Create cutting-edge fintech solutions while learning from industry experts. ₵30k+ in prizes!"

# TODO: meta_image = asset_path('og-image.webp') # Make sure to add this image to assets
meta_image = nil %>
Expand All @@ -19,10 +19,10 @@
/>

<%# SEO Meta Tags %>
<meta name="author" content="Achieve by Petra"/>
<meta name="author" content="UNICEF Startup Lab Hack"/>
<meta
name="keywords"
content="hackathon, fintech, ghana tech, achieve by petra, academic city, paystack, devcongress, coding competition"
content="hackathon, ai, ghana tech, unicef startup lab, devcongress, coding competition"
/>
<meta name="robots" content="index, follow"/>
<link rel="canonical" href="<%= request.original_url %>"/>
Expand Down Expand Up @@ -52,12 +52,12 @@
<meta property="event:country-name" content="Ghana"/>

<%# Additional event details %>
<meta property="event:creator" content="Achieve by Petra"/>
<meta property="event:creator" content="UNICEF Startup Lab"/>
<meta property="event:category" content="Hackathon"/>

<%# Twitter Card Meta Tags %>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:site" content="@theachieveapp"/>
<meta name="twitter:site" content="@DevCongress"/>
<meta name="twitter:title" content="<%= content_for(:title) || app_name %>"/>
<meta
name="twitter:description"
Expand All @@ -67,7 +67,7 @@
name="twitter:image"
content="<%= content_for(:meta_image) || meta_image %>"
/>
<meta name="twitter:creator" content="@theachieveapp"/>
<meta name="twitter:creator" content="@DevCongress"/>

<%# Additional Twitter Card event details %>
<meta name="twitter:label1" content="When"/>
Expand Down Expand Up @@ -142,7 +142,7 @@
group-hover:to-primary-700 transition-all
"
>
<%= image_tag "Logo-Main.svg", class: "w-16" %>
<%= image_tag "neural-network.png", class: "w-8" %>
</h1>
</a>
</div>
Expand Down Expand Up @@ -361,7 +361,7 @@
>
<div class="flex justify-center space-x-6 md:order-2">
<a
href="https://x.com/achievebypetra_"
href="https://x.com/DevCongress"
class="text-gray-400 hover:text-gray-300"
target="_blank"
>
Expand All @@ -374,20 +374,7 @@
</a>

<a
href="https://facebook.com/theachieveapp"
class="text-gray-400 hover:text-gray-300"
target="_blank"
>
<span class="sr-only">Facebook</span>
<svg class="size-6" fill="currentColor" viewBox="0 0 24 24">
<path
d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"
/>
</svg>
</a>

<a
href="https://www.instagram.com/theachieveapp"
href="https://www.instagram.com/DevCongress"
class="text-gray-400 hover:text-gray-300"
target="_blank"
>
Expand All @@ -401,7 +388,7 @@
</div>
<div class="mt-8 md:order-1 md:mt-0">
<p class="text-center text-xs leading-5 text-gray-400">
&copy; 2025 achieve by Petra. All rights reserved.
&copy; 2025 DevCnogress. All rights reserved.
</p>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/views/rodauth/admin_mailer/otp_unlock_failed.text.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Someone (hopefully you) attempted to unlock TOTP authentication for the
account associated to this email address, but failed as the
authentication code submitted was not correct.

If you did not initiate the TOTP authentication failure that generated
If you did not initiate the OTP authentication failure that generated
this email, that means someone already has partial access to your
account, but is unable to use TOTP authentication to fully authenticate
themselves.
4 changes: 2 additions & 2 deletions app/views/rodauth/hacker_mailer/email_auth.text.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Hi there! 🔑

We received a login request for your Hack! with achieve by Petra account.
We received a login request for your UNICEF StartUp Lab Hack account.

What's Next?
============
Expand All @@ -19,4 +19,4 @@ Important Security Note
This link is unique to your account and should not be shared with anyone. It will expire shortly for your protection. 🛡️

Best regards,
The Hack! with achieve by Petra Team
The UNICEF StartUp Lab Hack Team
4 changes: 2 additions & 2 deletions app/views/rodauth/hacker_mailer/otp_disabled.text.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Hi there! 🔐

We're reaching out to notify you about a security change to your Hack! with achieve by Petra account.
We're reaching out to notify you about a security change to your UNICEF StartUp Lab Hack account.

Important Security Update
========================
Expand All @@ -17,4 +17,4 @@ If you did not make this change, please:
3️⃣ Contact our support team right away

Best regards,
The Hack! with achieve by Petra Team
The UNICEF StartUp Lab Hack Team
2 changes: 1 addition & 1 deletion app/views/rodauth/hacker_mailer/otp_locked_out.text.erb
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ If these login attempts weren't yours:
3️⃣ Contact our support team right away

Best regards,
The Hack! with achieve by Petra Team
The UNICEF StartUp Lab Hack Team
4 changes: 2 additions & 2 deletions app/views/rodauth/hacker_mailer/otp_setup.text.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Hi there! 🔐
Great News - Your Account is Now More Secure!
===========================================

TOTP (Two-Factor) Authentication has been successfully set up for your Hack! with achieve by Petra account.
TOTP (Two-Factor) Authentication has been successfully set up for your UNICEF StartUp Lab Hack account.

What This Means
==============
Expand All @@ -20,4 +20,4 @@ Security Tips
3️⃣ Ensure your backup codes are stored securely

Best regards,
The Hack! with achieve by Petra Team
The UNICEF StartUp Lab Hack Team
Loading