Skip to content

Commit

Permalink
Version updated from 0.8.7 to 0.8.8
Browse files Browse the repository at this point in the history
enhance: improved pricing page

enhance: updated landing page

fix: rate using int rather than decimal/float

enhance: added welcome email

Signed-off-by: Trey <[email protected]>
  • Loading branch information
TreyWW committed Oct 4, 2024
1 parent 8b2bfef commit fabf96e
Show file tree
Hide file tree
Showing 11 changed files with 93 additions and 49 deletions.
2 changes: 1 addition & 1 deletion backend/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from __future__ import absolute_import, unicode_literals

__version__ = "0.8.7"
__version__ = "0.8.8"
19 changes: 19 additions & 0 deletions backend/api/landing_page/email_waitlist.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

from django.http import HttpResponse

from settings.helpers import send_email


@login_not_required
def join_waitlist_endpoint(request: WebRequest):
Expand All @@ -29,4 +31,21 @@ def join_waitlist_endpoint(request: WebRequest):
</div>
"""

send_email(
destination=email_address,
subject="Welcome aboard",
content=dedent(
f"""
Thank you for joining our waitlist!
We're excited to have you on board and will be in touch with more updates as we progress in our journey.
Stay tuned for discounts, updates and personal direct emails from our founder!
Best regards,
The MyFinances Team
"""
).strip(),
)

return HttpResponse(status=200, content=dedent(content).strip())
4 changes: 2 additions & 2 deletions backend/service/invoices/common/create/services/add.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ def add(request: APIRequest | HtmxHttpRequest):
list_of_current_rows = [row for row in zip(list_hours, list_service_name, list_service_description, list_price_per_hour)]

if not existing_service:
hours = int(request.POST.get("post_hours", "0"))
hours = float(request.POST.get("post_hours", "0")) # todo add error handling rather than just plain float
service_name = request.POST.get("post_service_name")
service_description = request.POST.get("post_service_description")
price_per_hour = int(request.POST.get("post_rate", "0"))
price_per_hour = float(request.POST.get("post_rate", "0")) # todo add error handling rather than just plain float

if not hours:
return JsonResponse(
Expand Down
Binary file added frontend/static/img/dashboard_invoices_page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion frontend/templates/modals/create_invoice_product.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@
</div>
<div class="form-control">
<label class="label justify-start">
Rate
<span class="required_star">*</span>
</label>
<input id="modal_input-price_per_hour"
step=".01"
type="number"
name="post_rate"
class="input input-block input-bordered"
Expand Down
1 change: 1 addition & 0 deletions frontend/templates/modals/invoices_add_service.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
</label>
<input id="modal_input-price_per_hour"
type="number"
step=".01"
name="post_rate"
class="input input-block input-bordered"
required>
Expand Down
16 changes: 1 addition & 15 deletions frontend/templates/pages/landing/addons.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<div class="mt-4">
<h3 class="text-xl font-bold">£3</h3>
</div>
<p class="text-sm">per month</p>
<p class="text-sm">per month (unlimited seats)</p>
</div>
</li>
<!-- Card 2 -->
Expand All @@ -29,20 +29,6 @@ <h3 class="text-xl font-bold">£5</h3>
<p class="text-sm">per month</p>
</div>
</li>
<!-- Card 3 -->
<li class="flex-shrink-0 w-80 h-60 px-4">
<div class="bg-primary-content border border-base-300 rounded-xl shadow-md p-6 flex flex-col justify-between h-full">
<div>
<p class="text-lg font-semibold mb-2">Priority Support</p>
<p class="text-sm">Receive priority support from.</p>
</div>
<div class="mt-4">
<h3 class="text-xl font-bold">£7</h3>
</div>
<p class="text-sm">per month</p>
</div>
</li>
<!-- Card 4 -->
<li class="flex-shrink-0 w-80 h-60 px-4">
<div class="bg-primary-content border border-base-300 rounded-xl shadow-md p-6 flex flex-col justify-between h-full">
<div>
Expand Down
74 changes: 52 additions & 22 deletions frontend/templates/pages/landing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,30 @@
Automate invoicing, streamline customer onboarding, and manage your documents — all in one place.
</p>
<p class="mb-3">Join the early access club for free!</p>
<div class="space-y-4 sm:flex sm:space-y-0 sm:space-x-4">
<div class="w-full flex items-start">
{# <a class="btn btn-primary"#}
{# href="{% url 'auth:login create_account manual' %}">Start Today – Free for 30 Days</a>#}
<form class="join" hx-post="{% url 'api:landing_page:join_waitlist' %}">
<form hx-post="{% url 'api:landing_page:join_waitlist' %}"
class="w-full flex flex-row gap-2 flex-wrap">
{% csrf_token %}
<input type="text"
name="name"
placeholder="Name"
class="input input-bordered join-item">
class="input input-bordered grow">
<input type="email"
name="email"
placeholder="Email Address"
required
class="input input-bordered join-item">
<button class="btn btn-primary join-item">Join the Hype</button>
class="input input-bordered grow">
<button class="btn btn-primary grow">Join the Hype</button>
</form>
</div>
</div>
<div class="hidden lg:mt-0 lg:col-span-5 lg:flex">
{# <img src="{% static 'img/invoices.svg' %}" alt="Invoicing Illustration">#}
<img src="{% static 'img/brainstorming_finance.png' %}"
alt="Finance Illustration">
<img src="{% static 'img/dashboard_invoices_page.png' %}"
alt="Invoice Page"
decoding="async"
class="rounded-lg w-full h-full">
</div>
</div>
</section>
Expand Down Expand Up @@ -133,17 +135,17 @@ <h2 class="text-4xl font-semibold tracking-tight text-base-content text-center m
</div>
</section>
<section class="bg-base-200 py-16">
<div class="max-w-screen-xl px-4 mx-auto text-center lg:py-24 lg:px-6">
<div class="max-w-screen-xl px-4 mx-auto text-center lg:py-8 lg:px-6">
<div class="max-w-screen-md mx-auto mb-8 lg:mb-12">
<h2 class="mb-4 text-4xl font-semibold tracking-tight text-base-content">
Built for founders like <strong>you</strong>
</h2>
<p class="mb-5 text-xl">
Whether you're a freelancer, entrepreneur, small business, or community center, My Finances helps you
Whether you're a freelancer, entrepreneur, small business, or community center, we
streamline your financial processes and focus on what really matters.
</p>
</div>
<div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-4">
<div class="grid grid-cols-1 gap-8 sm:grid-cols-3 lg:grid-cols-3">
<div class="p-6 bg-white rounded-lg shadow-lg text-center">
<i class="fa-solid fa-laptop-code text-secondary text-5xl mb-4"></i>
<h3 class="text-2xl font-semibold mb-2 text-base-content">Freelancers</h3>
Expand All @@ -152,14 +154,6 @@ <h3 class="text-2xl font-semibold mb-2 text-base-content">Freelancers</h3>
we handle the paperwork.
</p>
</div>
<div class="p-6 bg-white rounded-lg shadow-lg text-center">
<i class="fa-solid fa-briefcase text-secondary text-5xl mb-4"></i>
<h3 class="text-2xl font-semibold mb-2 text-base-content">Self-Employed Entrepreneurs</h3>
<p class="text-base-content">
Manage your customer onboarding and approvals effortlessly, so you can scale your
business faster.
</p>
</div>
<div class="p-6 bg-white rounded-lg shadow-lg text-center">
<i class="fa-solid fa-users text-secondary text-5xl mb-4"></i>
<h3 class="text-2xl font-semibold mb-2 text-base-content">Small Team Businesses</h3>
Expand All @@ -172,18 +166,54 @@ <h3 class="text-2xl font-semibold mb-2 text-base-content">Small Team Businesses<
<i class="fa-solid fa-building text-secondary text-5xl mb-4"></i>
<h3 class="text-2xl font-semibold mb-2 text-base-content">Community Centers</h3>
<p class="text-base-content">
Streamline booking processes and manage long-term contracts with ease, ensuring
smooth operations.
Streamline booking processes and manage long-term groups with ease, ensuring
smooth operations and saving staff time.
</p>
</div>
</div>
</div>
</section>
<section class="bg-base-100 py-16">
<div class="max-w-screen-xl px-4 mx-auto text-center">
<h2 class="mb-4 text-4xl font-semibold tracking-tight text-base-content">How Does It Work</h2>
<p class="mb-8 text-lg font-light text-base-content">
Simplify your invoicing and customer onboarding in just a few easy steps!
</p>
<div class="grid gap-12 md:grid-cols-2">
<!-- Invoicing Process -->
<div class="p-6 bg-white rounded-lg shadow-lg">
<h3 class="text-2xl font-semibold text-base-content mb-4">Invoicing Made Easy</h3>
<p class="mb-4">Transform your booking process:</p>
<ol class="list-decimal list-inside text-left">
<li class="mb-2">Create draft invoice and fill out details.</li>
<li class="mb-2">
Set invoice status to <strong>"Pending"</strong> (awaiting payment).
</li>
<li class="mb-2">Send invoice to customer.</li>
<li class="mb-2">Customer pays online.</li>
</ol>
</div>
<!-- Customer Onboarding Process -->
<div class="p-6 bg-white rounded-lg shadow-lg">
<h3 class="text-2xl font-semibold text-base-content mb-4 text-center">Streamlined Customer Onboarding</h3>
<blockquote class="italic text-base-content mb-4 text-center">
"MyFinances <span class="underline">transformed</span> the way we onboard customers!"
</blockquote>
<ol class="list-decimal list-inside text-left">
<li class="mb-2">User visits your personalized dashboard to manage bookings.</li>
<li class="mb-2">User fills out necessary forms and pays online.</li>
<li class="mb-2">You receive updates on every step. Hold / cancel bookings at any time.</li>
<li class="mb-2">Booking is confirmed automatically upon payment.</li>
</ol>
</div>
</div>
</div>
</section>
<section class="bg-base-300">
<div class="max-w-screen-xl px-4 py-8 mx-auto lg:py-16 lg:px-6">
<div class="max-w-screen-sm mx-auto text-center">
<h2 class="mb-4 text-3xl font-extrabold leading-tight tracking-tight text-base-content">
Get your quote today
Get your custom quote today
</h2>
<p class="mb-6 font-light text-base-content md:text-lg">
Speak to our founder and get a quote that best fits your business
Expand Down
2 changes: 1 addition & 1 deletion frontend/templates/pages/landing/landing_base.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
</div>
<div class="flex h-[calc(100vh-5rem)] w-full bg-base-100"
:class="{ 'overflow-hidden': isSideMenuOpen}">
<main class="h-full w-full overflow-y-auto pb-16">
<main class="h-full w-full overflow-y-auto">
<div class="navbar-sticky">
{% block content %}
{% endblock content %}
Expand Down
18 changes: 13 additions & 5 deletions frontend/templates/pages/landing/pricing.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,20 @@ <h2 class="mb-4 text-3xl font-extrabold tracking-tight">Pricing for MyFinances</
</div>
{% include 'pages/landing/pricing_cards.html' %}
{# Addons #}
<div x-data="{}"
x-init="$nextTick(() => { let ul = $refs.addons; ul.insertAdjacentHTML('afterend', ul.outerHTML); ul.nextSibling.setAttribute('aria-hidden', 'true'); })"
class="relative w-full inline-flex flex-nowrap overflow-hidden mt-8 [mask-image:_linear-gradient(to_right,transparent_0,_black_128px,_black_calc(100%-128px),transparent_100%)]">
{% include "pages/landing/addons.html" %}
</div>
{# <div x-data="{}"#}
{# x-init="$nextTick(() => { let ul = $refs.addons; ul.insertAdjacentHTML('afterend', ul.outerHTML); ul.nextSibling.setAttribute('aria-hidden', 'true'); })"#}
{# class="relative w-full inline-flex flex-nowrap overflow-hidden mt-8 [mask-image:_linear-gradient(to_right,transparent_0,_black_128px,_black_calc(100%-128px),transparent_100%)]">#}
{# {% include "pages/landing/addons.html" %}#}
{# </div>#}
{# End Addons #}
{# Usage Based Pricing #}
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-8">
<!-- Starter Plan -->
{% include "pages/billing/dashboard/starter_usages.html" %}
<!-- Growth Plan -->
{% include "pages/billing/dashboard/growth_usages.html" %}
</div>
{# End Usage Based Pricing #}
</div>
</section>
<!-- End block -->
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "MyFinances"
version = "0.8.7"
version = "0.8.8"
description = "github.com/TreyWW/MyFinances"
authors = ["TreyWW"]
readme = "README.md"
Expand Down Expand Up @@ -105,7 +105,7 @@ requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.bumpversion]
current_version = "0.8.7"
current_version = "0.8.8"
commit = true
commit_args = "-s"
tag = true
Expand Down

0 comments on commit fabf96e

Please sign in to comment.