A web development project built with Django, focused on creating a functional website with a structured backend and an accessible user interface.
A Django-powered website with a structured backend and an accessible user interface.
Pickles Home is a web development project built using the Django framework. The project focuses on delivering a functional website with a well-structured backend and a clean, accessible user interface. It demonstrates the fundamentals of Django development, including URL routing, views, models, templates, and the Django Template Language for dynamic content rendering.
The backend is organized following Django's MVT (Model-View-Template) architecture, keeping data models, business logic, and presentation layers cleanly separated. The frontend is built with semantic HTML and CSS, prioritizing accessibility and a straightforward user experience across devices.
Problem: As the project grew, keeping the codebase organized became important. Without proper structure, routing, views, and templates can become scattered and hard to maintain.
Solution: Followed Django's app-based architecture, splitting functionality into modular apps with clear responsibilities. URL configurations are nested per app, templates are grouped by feature, and base templates are extended to avoid duplication.
Problem: Creating a UI that is not only visually clean but also accessible to all users, including those using assistive technologies, requires careful attention to semantic markup and styling.
Solution: Used semantic HTML elements (header, nav, main, section, footer) and ensured proper heading hierarchy. Applied sufficient color contrast, descriptive link text, and keyboard-navigable interactive elements. CSS was kept simple and responsive.
Problem: Managing CSS and static assets correctly in Django, especially across development and production, can be tricky for beginners.
Solution: Used Django's staticfiles app with the {% load static %} template tag to reference CSS and other assets. Static folders are organized per app, and template inheritance with a base template keeps styling consistent across pages.