-
Analyzing your requirements and generating your app…
-
-
Loading…
+
+
+
+
Innovating for a Healthier Tomorrow
+
GenZ Pharma is dedicated to pioneering new solutions in pharmaceuticals, from research to delivery.
+
Get Started
+
Learn More
- AppWizzy AI is collecting your requirements and applying the first changes.
- This page will refresh automatically as the plan is implemented.
-
- Runtime: Django {{ django_version }} · Python {{ python_version }}
- — UTC {{ current_time|date:"Y-m-d H:i:s" }}
-
-
-
-
- Page updated: {{ current_time|date:"Y-m-d H:i:s" }} (UTC)
-
-{% endblock %}
\ No newline at end of file
+
+
+
+
+
+
+
Our Platform
+
A unified solution for pharmaceutical management.
+
+
+
+
+
Real-time Monitoring
+
Track inventory, shipments, and user activity with live data dashboards.
+
+
+
+
Regulatory Compliance
+
Manage documents, track batch expirations, and report adverse events seamlessly.
+
+
+
+
User Management
+
Admins can easily view user profiles, manage access, and monitor activity.
+
+
+
+
+
+
+
+
+
+
+
About GenZ Pharma
+
We are a forward-thinking pharmaceutical company committed to leveraging technology to improve healthcare outcomes. Our mission is to ensure safety, efficiency, and transparency in the entire pharmaceutical lifecycle.
+
From pioneering research and development to ensuring regulatory standards are met, GenZ Pharma is your trusted partner in health.
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/core/templates/registration/login.html b/core/templates/registration/login.html
new file mode 100644
index 0000000..b5496ba
--- /dev/null
+++ b/core/templates/registration/login.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/core/templates/registration/signup.html b/core/templates/registration/signup.html
new file mode 100644
index 0000000..02d0f11
--- /dev/null
+++ b/core/templates/registration/signup.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/core/urls.py b/core/urls.py
index 6299e3d..697ce77 100644
--- a/core/urls.py
+++ b/core/urls.py
@@ -1,7 +1,11 @@
-from django.urls import path
+from django.urls import path, include
+from django.views.generic import RedirectView
-from .views import home
+from .views import home, SignUpView
urlpatterns = [
path("", home, name="home"),
+ path("accounts/", include("django.contrib.auth.urls")),
+ path("signup/", SignUpView.as_view(), name="signup"),
+ path('login/', RedirectView.as_view(url='/accounts/login/'), name='login'),
]
diff --git a/core/views.py b/core/views.py
index c9aed12..5dfb17b 100644
--- a/core/views.py
+++ b/core/views.py
@@ -4,6 +4,15 @@ import platform
from django import get_version as django_version
from django.shortcuts import render
from django.utils import timezone
+from django.contrib.auth.forms import UserCreationForm
+from django.urls import reverse_lazy
+from django.views import generic
+
+
+class SignUpView(generic.CreateView):
+ form_class = UserCreationForm
+ success_url = reverse_lazy("login")
+ template_name = "registration/signup.html"
def home(request):
diff --git a/static/css/custom.css b/static/css/custom.css
new file mode 100644
index 0000000..0929bc2
--- /dev/null
+++ b/static/css/custom.css
@@ -0,0 +1,160 @@
+/* GenZ Pharma Custom Styles */
+
+/* Typography */
+@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&family=Inter:wght@400;500&display=swap');
+
+:root {
+ --primary-color: #1D4ED8;
+ --secondary-color: #F3F4F6;
+ --accent-color: #34D399;
+ --text-color: #111827;
+ --bs-body-font-family: 'Inter', sans-serif;
+ --bs-body-color: var(--text-color);
+}
+
+h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
+ font-family: 'Poppins', sans-serif;
+ font-weight: 600;
+}
+
+/* Buttons */
+.btn-primary {
+ background-color: var(--primary-color);
+ border-color: var(--primary-color);
+ padding: 0.75rem 1.5rem;
+ font-weight: 500;
+ transition: background-color 0.3s ease;
+}
+
+.btn-primary:hover {
+ background-color: #1e40af; /* A slightly darker shade of primary */
+ border-color: #1e40af;
+}
+
+.btn-accent {
+ background-color: var(--accent-color);
+ border-color: var(--accent-color);
+ color: white;
+ padding: 0.75rem 1.5rem;
+ font-weight: 500;
+ transition: background-color 0.3s ease;
+}
+
+.btn-accent:hover {
+ background-color: #2aa779; /* A slightly darker shade of accent */
+ border-color: #2aa779;
+}
+
+/* Navbar */
+.navbar {
+ transition: background-color 0.3s ease;
+}
+
+/* Hero Section */
+.hero {
+ background: linear-gradient(135deg, var(--primary-color) 0%, #3b82f6 100%);
+ color: white;
+ padding: 6rem 0;
+}
+
+.hero h1 {
+ font-weight: 700;
+}
+
+/* Section Styling */
+.section {
+ padding: 4rem 0;
+}
+
+.section-bg {
+ background-color: var(--secondary-color);
+}
+
+.feature-icon {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 4rem;
+ height: 4rem;
+ border-radius: 50%;
+ background-color: var(--primary-color);
+ color: white;
+ font-size: 2rem;
+ margin-bottom: 1rem;
+}
+
+/* Footer */
+.footer {
+ background-color: var(--text-color);
+ color: var(--secondary-color);
+ padding: 3rem 0;
+}
+
+.footer a {
+ color: var(--secondary-color);
+ text-decoration: none;
+}
+
+.footer a:hover {
+ color: var(--accent-color);
+}
+
+/* Authentication Pages */
+.auth-container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ min-height: calc(100vh - 140px); /* Adjust based on header/footer height */
+ background-color: #f9fafb;
+}
+
+.auth-card {
+ width: 100%;
+ max-width: 450px;
+ padding: 2.5rem;
+ border: 1px solid #e5e7eb;
+ border-radius: 0.75rem;
+ background-color: #ffffff;
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
+}
+
+.auth-card .card-title {
+ font-weight: 700;
+ color: var(--text-color);
+}
+
+.auth-card form p {
+ margin-bottom: 1rem;
+}
+
+.auth-card form label {
+ display: block;
+ margin-bottom: 0.5rem;
+ font-weight: 500;
+ color: #374151;
+}
+
+.auth-card form input[type="text"],
+.auth-card form input[type="password"],
+.auth-card form input[type="email"] {
+ display: block;
+ width: 100%;
+ padding: 0.75rem 1rem;
+ border: 1px solid #d1d5db;
+ border-radius: 0.375rem;
+ transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
+}
+
+.auth-card form input[type="text"]:focus,
+.auth-card form input[type="password"]:focus,
+.auth-card form input[type="email"]:focus {
+ outline: none;
+ border-color: var(--primary-color);
+ box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.3);
+}
+
+.auth-card .btn-primary {
+ width: 100%;
+ padding: 0.875rem;
+ font-size: 1rem;
+}
\ No newline at end of file