Wood & Stone Construction
Django site for Wood Stone Construction: public pages in the core app, contact forms and uploads in the contact app, Django admin, sitemap and robots.txt, with copy and reviews driven from JSON config files. The commercial engagement did not complete successfully; Lessons learned on the project page summarises faults and responses.
Wood & Stone Construction
Purpose
A Django-powered marketing and enquiry site for a wood and stone construction business. It presents the company to visitors, handles contact and file uploads, and keeps day-to-day content manageable through admin and file-based configuration.
What It Provides
Public site templates and views live in the core app; the contact app covers contact forms, uploads, and email behaviour. Django admin is available for operational tasks. SEO basics include a sitemap and robots rules. Structured copy and reviews load from JSON configuration files under the project settings package, which the app expects at startup.
What I Built
A Django project with a dedicated settings package and URL routing, SQLite via migrations, static assets collected through Django’s collectstatic, and django-compressor in the toolchain. Optional environment files support secrets and email. Production-oriented cookie security flags are documented for HTTPS deployments; local HTTP developers can relax those in development only.
My Role
I implemented the full Django application: apps split between public content and contact flows, wiring configuration and reviews from JSON, admin access, and deployment-minded settings (static pipeline, media uploads, environment variables).
How I Contributed
I focused on a maintainable split between templates and data, clear contact and upload handling, and operational documentation in the repository so the site can be run, migrated, and extended without guesswork.
Lessons learned
This project had no fixed deadline, so I spread effort across many different elements and eventually became overstretched, which contributed to the delivery failing. I have learned to gather requirements and business needs from the initial conversation, then follow up in short cycles so the client can test and experiment with each feature with an agile mindset: some work will not match what they had in mind, or they will want more advanced behaviour than we first scoped.
Tech used
- Django
- django-compressor
- HTML
- JavaScript
- Python
- SQLite
