hjh
This commit is contained in:
parent
95a1721315
commit
07824dbfb1
Binary file not shown.
@ -177,5 +177,5 @@ if EMAIL_USE_SSL:
|
|||||||
|
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||||
|
|
||||||
LOGIN_REDIRECT_URL = 'index'
|
LOGIN_REDIRECT_URL = 'home'
|
||||||
LOGOUT_REDIRECT_URL = 'index'
|
LOGOUT_REDIRECT_URL = 'home'
|
||||||
Binary file not shown.
Binary file not shown.
@ -81,7 +81,7 @@
|
|||||||
<!-- Navigation -->
|
<!-- Navigation -->
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top shadow-sm">
|
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top shadow-sm">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="navbar-brand d-flex align-items-center" href="{% url 'index' %}">
|
<a class="navbar-brand d-flex align-items-center" href="{% url 'home' %}">
|
||||||
<i class="bi bi-shop-window me-2 text-primary"></i>
|
<i class="bi bi-shop-window me-2 text-primary"></i>
|
||||||
Jimma Market
|
Jimma Market
|
||||||
</a>
|
</a>
|
||||||
@ -188,7 +188,7 @@
|
|||||||
<li class="mb-2"><a href="{% url 'about_us' %}" class="text-muted text-decoration-none">{% trans "About Us" %}</a></li>
|
<li class="mb-2"><a href="{% url 'about_us' %}" class="text-muted text-decoration-none">{% trans "About Us" %}</a></li>
|
||||||
<li class="mb-2"><a href="{% url 'contact_us' %}" class="text-muted text-decoration-none">{% trans "Contact Support" %}</a></li>
|
<li class="mb-2"><a href="{% url 'contact_us' %}" class="text-muted text-decoration-none">{% trans "Contact Support" %}</a></li>
|
||||||
<li class="mb-2"><a href="{% url 'delivery_info' %}" class="text-muted text-decoration-none">{% trans "Delivery Info" %}</a></li>
|
<li class="mb-2"><a href="{% url 'delivery_info' %}" class="text-muted text-decoration-none">{% trans "Delivery Info" %}</a></li>
|
||||||
<li class="mb-2"><a href="{% url 'seller_info' %}" class="text-muted text-decoration-none">{% trans "Sell on Jimma" %}</a></li>
|
<li class="mb-2"><a href="{% url 'project_log' %}" class="text-muted text-decoration-none">{% trans "Project Log" %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
@ -209,7 +209,7 @@
|
|||||||
<p class="text-muted mb-0 small">© 2026 Jimma Market. {% trans "All rights reserved." %}</p>
|
<p class="text-muted mb-0 small">© 2026 Jimma Market. {% trans "All rights reserved." %}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 text-center text-md-end">
|
<div class="col-md-6 text-center text-md-end">
|
||||||
<p class="text-muted mb-0 small">{% trans "Built by" %} <a href="https://github.com/Osman-1234" target="_blank" class="text-primary text-decoration-none fw-bold">Bilal</a></p>
|
<p class="text-muted mb-0 small">{% trans "Built by" %} <a href="https://github.com/Osman-1234" target="_blank" class="text-primary text-decoration-none fw-bold">Bilal</a> | <a href="{% url 'project_log' %}" class="text-muted text-decoration-none">v1.1.0</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -219,4 +219,4 @@
|
|||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
{% block extra_js %}{% endblock %}
|
{% block extra_js %}{% endblock %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<header class="mb-5 text-center">
|
<header class="mb-5 text-center">
|
||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb justify-content-center mb-4">
|
<ol class="breadcrumb justify-content-center mb-4">
|
||||||
<li class="breadcrumb-item"><a href="{% url 'index' %}" class="text-decoration-none">Home</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'home' %}" class="text-decoration-none">Home</a></li>
|
||||||
<li class="breadcrumb-item"><a href="{% url 'article_list' %}" class="text-decoration-none">Blog</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'article_list' %}" class="text-decoration-none">Blog</a></li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">{{ article.title|truncatechars:30 }}</li>
|
<li class="breadcrumb-item active" aria-current="page">{{ article.title|truncatechars:30 }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|||||||
@ -53,7 +53,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<h3>No articles found</h3>
|
<h3>No articles found</h3>
|
||||||
<p class="text-muted">Check back later for new updates and stories from Jimma Market.</p>
|
<p class="text-muted">Check back later for new updates and stories from Jimma Market.</p>
|
||||||
<a href="{% url 'index' %}" class="btn btn-primary rounded-pill px-4">Return Home</a>
|
<a href="{% url 'home' %}" class="btn btn-primary rounded-pill px-4">Return Home</a>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<nav aria-label="breadcrumb" class="mb-4">
|
<nav aria-label="breadcrumb" class="mb-4">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="{% url 'index' %}" class="text-decoration-none">{% trans "Home" %}</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'home' %}" class="text-decoration-none">{% trans "Home" %}</a></li>
|
||||||
<li class="breadcrumb-item"><a href="{% url 'product_list' %}" class="text-decoration-none">{% trans "Shop" %}</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'product_list' %}" class="text-decoration-none">{% trans "Shop" %}</a></li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">{{ category.name }}</li>
|
<li class="breadcrumb-item active" aria-current="page">{{ category.name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|||||||
@ -252,4 +252,4 @@
|
|||||||
box-shadow: 0 1rem 3rem rgba(0,0,0,.1) !important;
|
box-shadow: 0 1rem 3rem rgba(0,0,0,.1) !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="d-grid gap-3">
|
<div class="d-grid gap-3">
|
||||||
<a href="{% url 'index' %}" class="btn btn-primary btn-lg rounded-pill">{% trans "Continue Shopping" %}</a>
|
<a href="{% url 'home' %}" class="btn btn-primary btn-lg rounded-pill">{% trans "Continue Shopping" %}</a>
|
||||||
{% if not user.is_authenticated %}
|
{% if not user.is_authenticated %}
|
||||||
<a href="{% url 'admin:index' %}" class="btn btn-link text-secondary text-decoration-none small">
|
<a href="{% url 'admin:index' %}" class="btn btn-link text-secondary text-decoration-none small">
|
||||||
{% trans "Create an account to track your orders" %}
|
{% trans "Create an account to track your orders" %}
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<nav aria-label="breadcrumb" class="mb-4">
|
<nav aria-label="breadcrumb" class="mb-4">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="{% url 'index' %}" class="text-decoration-none">{% trans "Home" %}</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'home' %}" class="text-decoration-none">{% trans "Home" %}</a></li>
|
||||||
<li class="breadcrumb-item"><a href="{% url 'category_products' product.category.slug %}" class="text-decoration-none">{{ product.category.name }}</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'category_products' product.category.slug %}" class="text-decoration-none">{{ product.category.name }}</a></li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">{{ product.name }}</li>
|
<li class="breadcrumb-item active" aria-current="page">{{ product.name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|||||||
89
core/templates/core/project_log.html
Normal file
89
core/templates/core/project_log.html
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
{% load i18n static %}
|
||||||
|
|
||||||
|
{% block title %}{% trans "Project Log & Version History" %} | Jimma Market{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<!-- Hero Section -->
|
||||||
|
<section class="bg-primary text-white py-5 mb-5">
|
||||||
|
<div class="container text-center">
|
||||||
|
<h1 class="display-4 fw-bold mb-3">{% trans "Project Log" %}</h1>
|
||||||
|
<p class="lead mb-0">{% trans "Tracking our progress and commitment to improving Jimma Market." %}</p>
|
||||||
|
<div class="mt-4">
|
||||||
|
<span class="badge bg-white text-primary px-3 py-2 fs-6 rounded-pill">
|
||||||
|
{% trans "Current Version" %}: v{{ current_version }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="container mb-5">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<!-- Timeline -->
|
||||||
|
<div class="timeline">
|
||||||
|
{% for log in logs %}
|
||||||
|
<div class="card border-0 shadow-sm mb-4">
|
||||||
|
<div class="card-body p-4">
|
||||||
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||||
|
<h3 class="h4 fw-bold mb-0 text-primary">v{{ log.version }}</h3>
|
||||||
|
<span class="text-muted small"><i class="bi bi-calendar3 me-1"></i> {{ log.date }}</span>
|
||||||
|
</div>
|
||||||
|
<h5 class="fw-bold mb-3">{{ log.description }}</h5>
|
||||||
|
<ul class="list-group list-group-flush bg-transparent">
|
||||||
|
{% for change in log.changes %}
|
||||||
|
<li class="list-group-item bg-transparent border-0 ps-0 d-flex">
|
||||||
|
<i class="bi bi-check2-circle text-success me-3 mt-1"></i>
|
||||||
|
<span>{{ change }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Future Roadmap (Optional Placeholder) -->
|
||||||
|
<div class="mt-5 p-4 bg-light rounded-4 border">
|
||||||
|
<h4 class="fw-bold mb-3"><i class="bi bi-rocket-takeoff me-2 text-primary"></i>{% trans "Future Roadmap" %}</h4>
|
||||||
|
<p class="text-muted mb-0">
|
||||||
|
{% trans "We're constantly working on new features including automated delivery dispatch, integrated payment gateways (Telebirr/CBE Birr), and a dedicated mobile app for vendors." %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.timeline .card {
|
||||||
|
position: relative;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.timeline .card:hover {
|
||||||
|
transform: scale(1.01);
|
||||||
|
box-shadow: 0 .5rem 1rem rgba(0,0,0,.1) !important;
|
||||||
|
}
|
||||||
|
.timeline .card::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: -1rem;
|
||||||
|
top: 2rem;
|
||||||
|
width: 0.5rem;
|
||||||
|
height: 0.5rem;
|
||||||
|
background-color: var(--bs-primary);
|
||||||
|
border-radius: 50%;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.timeline {
|
||||||
|
border-left: 2px solid #dee2e6;
|
||||||
|
padding-left: 2rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
}
|
||||||
|
.timeline .card::before {
|
||||||
|
display: block;
|
||||||
|
left: -2.3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{% endblock %}
|
||||||
@ -52,7 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center mt-4">
|
<div class="text-center mt-4">
|
||||||
<a href="{% url 'index' %}" class="text-secondary text-decoration-none small">
|
<a href="{% url 'home' %}" class="text-secondary text-decoration-none small">
|
||||||
<i class="bi bi-arrow-left me-1"></i> {% trans "Back to Home" %}
|
<i class="bi bi-arrow-left me-1"></i> {% trans "Back to Home" %}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center mt-4">
|
<div class="text-center mt-4">
|
||||||
<a href="{% url 'index' %}" class="text-secondary text-decoration-none small">
|
<a href="{% url 'home' %}" class="text-secondary text-decoration-none small">
|
||||||
<i class="bi bi-arrow-left me-1"></i> {% trans "Back to Home" %}
|
<i class="bi bi-arrow-left me-1"></i> {% trans "Back to Home" %}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -2,7 +2,7 @@ from django.urls import path
|
|||||||
from . import views
|
from . import views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.home, name='index'),
|
path('', views.home, name='home'),
|
||||||
path('signup/', views.signup, name='signup'), # Added signup url
|
path('signup/', views.signup, name='signup'), # Added signup url
|
||||||
path('products/', views.product_list, name='product_list'),
|
path('products/', views.product_list, name='product_list'),
|
||||||
path('product/<slug:slug>/', views.product_detail, name='product_detail'),
|
path('product/<slug:slug>/', views.product_detail, name='product_detail'),
|
||||||
@ -29,8 +29,9 @@ urlpatterns = [
|
|||||||
path('delivery-info/', views.delivery_info, name='delivery_info'),
|
path('delivery-info/', views.delivery_info, name='delivery_info'),
|
||||||
path('contact/', views.contact_us, name='contact_us'),
|
path('contact/', views.contact_us, name='contact_us'),
|
||||||
path('track-order/', views.track_order, name='track_order'),
|
path('track-order/', views.track_order, name='track_order'),
|
||||||
|
path('project-log/', views.project_log, name='project_log'), # Added project log url
|
||||||
|
|
||||||
# Blog/Articles
|
# Blog/Articles
|
||||||
path('blog/', views.article_list, name='article_list'),
|
path('blog/', views.article_list, name='article_list'),
|
||||||
path('blog/<slug:slug>/', views.article_detail, name='article_detail'),
|
path('blog/<slug:slug>/', views.article_detail, name='article_detail'),
|
||||||
]
|
]
|
||||||
@ -375,3 +375,35 @@ def article_list(request):
|
|||||||
def article_detail(request, slug):
|
def article_detail(request, slug):
|
||||||
article = get_object_or_404(Article, slug=slug, is_published=True)
|
article = get_object_or_404(Article, slug=slug, is_published=True)
|
||||||
return render(request, 'core/article_detail.html', {'article': article})
|
return render(request, 'core/article_detail.html', {'article': article})
|
||||||
|
|
||||||
|
def project_log(request):
|
||||||
|
"""
|
||||||
|
View to display project version history and updates.
|
||||||
|
"""
|
||||||
|
logs = [
|
||||||
|
{
|
||||||
|
"version": "1.1.0",
|
||||||
|
"date": "February 6, 2026",
|
||||||
|
"description": "Enhanced user experience and neighborhood filtering.",
|
||||||
|
"changes": [
|
||||||
|
"Implemented Neighborhood (Kebele) filtering for products and categories.",
|
||||||
|
"Added user registration (signup) functionality.",
|
||||||
|
"Enhanced hero search bar with product and Kebele search combined.",
|
||||||
|
"Updated site-wide contact information and social links.",
|
||||||
|
"Integrated internationalization (i18n) support for key pages.",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "1.0.0",
|
||||||
|
"date": "February 1, 2026",
|
||||||
|
"description": "Initial launch of Jimma Market platform.",
|
||||||
|
"changes": [
|
||||||
|
"Core marketplace functionality with multi-vendor support.",
|
||||||
|
"Product listing, detail views, and category organization.",
|
||||||
|
"Shopping cart and checkout system with order tracking.",
|
||||||
|
"Vendor dashboard for product and order management.",
|
||||||
|
"Basic news and blog section integration.",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
return render(request, 'core/project_log.html', {'logs': logs, 'current_version': '1.1.0'})
|
||||||
14
package.json
14
package.json
@ -1,15 +1,17 @@
|
|||||||
{
|
{
|
||||||
"name": "workspace",
|
"name": "jimma-market",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"description": "This workspace houses the Django application scaffold used for Python-based templates.",
|
"description": "Jimma Market - Your Local Online Marketplace",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "Bilal",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "^5.3.8"
|
"bootstrap": "^5.3.3",
|
||||||
|
"bootstrap-icons": "^1.11.3",
|
||||||
|
"@popperjs/core": "^2.11.8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user