{"id":30854349,"url":"https://github.com/brennanbrown/django-project","last_synced_at":"2026-05-09T05:34:34.718Z","repository":{"id":107476300,"uuid":"286119987","full_name":"brennanbrown/django-project","owner":"brennanbrown","description":"A full-stack Django project, with a PostgreSQL database, using Selenium for tests, and deployed in real-time. Under construction.","archived":false,"fork":false,"pushed_at":"2026-02-10T23:10:58.000Z","size":2882,"stargazers_count":7,"open_issues_count":0,"forks_count":10,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-11T01:40:41.536Z","etag":null,"topics":["django","postgresql","selenium"],"latest_commit_sha":null,"homepage":"https://django.life","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brennanbrown.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["brennanbrown"],"patreon":"brennankbrown","ko_fi":"brennan","custom":["https://berryhouse.ca/support/"]}},"created_at":"2020-08-08T21:12:28.000Z","updated_at":"2026-02-10T23:11:02.000Z","dependencies_parsed_at":"2023-05-17T13:45:26.058Z","dependency_job_id":null,"html_url":"https://github.com/brennanbrown/django-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brennanbrown/django-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brennanbrown%2Fdjango-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brennanbrown%2Fdjango-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brennanbrown%2Fdjango-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brennanbrown%2Fdjango-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brennanbrown","download_url":"https://codeload.github.com/brennanbrown/django-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brennanbrown%2Fdjango-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32808538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","postgresql","selenium"],"created_at":"2025-09-07T10:12:01.636Z","updated_at":"2026-05-09T05:34:34.699Z","avatar_url":"https://github.com/brennanbrown.png","language":"HTML","funding_links":["https://github.com/sponsors/brennanbrown","https://patreon.com/brennankbrown","https://ko-fi.com/brennan","https://berryhouse.ca/support/"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eBrennan's Django Showcase\u003c/h1\u003e\n\n\u003c!-- NEW BADGES--\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Django Version\" src=\"https://img.shields.io/badge/Django-5.1.3-green\"\u003e\n\u003cimg alt=\"Python Version\" src=\"https://img.shields.io/badge/Python-3.13-blue\"\u003e\n\u003cimg alt=\"GitHub code size in bytes\"\nsrc=\"https://img.shields.io/github/languages/code-size/brennanbrown/django-project\"\u003e \u003cimg alt=\"GitHub repo size\"\nsrc=\"https://img.shields.io/github/repo-size/brennanbrown/django-project\"\u003e \u003cimg alt=\"GitHub top language\"\nsrc=\"https://img.shields.io/github/languages/top/brennanbrown/django-project\"\u003e \u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/brennanbrown/django-project\"\u003e \u003cimg alt=\"GitHub last commit\"\nsrc=\"https://img.shields.io/github/last-commit/brennanbrown/django-project\"\u003e \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/brennanbrown/django-project\"\u003e \u003cimg alt=\"Website\"\nsrc=\"https://img.shields.io/website?down_color=red\u0026down_message=Offline%21\u0026label=Status\u0026up_color=darkgreen\u0026up_message=Online%21\u0026url=https%3A%2F%2Fdjango.life\"\u003e\n\u003cbr /\u003e\n\u003cimg alt=\"GitHub followers\"\nsrc=\"https://img.shields.io/github/followers/brennanbrown?label=Follow%20Me%21\u0026style=social\"\u003e \u003cimg alt=\"GitHub watchers\"\nsrc=\"https://img.shields.io/github/watchers/brennanbrown/django-project?label=Watch%21\u0026style=social\"\u003e \u003cimg alt=\"GitHub stars\"\nsrc=\"https://img.shields.io/github/stars/brennanbrown/django-project?label=Star%21\u0026style=social\"\u003e \u003cimg alt=\"GitHub forks\"\nsrc=\"https://img.shields.io/github/forks/brennanbrown/django-project?label=Fork%21\u0026style=social\"\u003e\n\u003c/p\u003e\n\n\u003e **🚀 Recently Updated!** This project has been upgraded to Django 5.1.3 (LTS) and Python 3.13 with enhanced security features. See [docs/upgrade-guide.md](docs/upgrade-guide.md) for details.\n\n**Table of Contents:**\n\n- [About The Project](#about-the-project)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Heroku Deployment](#heroku-deployment)\n- [Documentation](#documentation)\n- [Roadmap](#roadmap)\n- [Contributing](#contributing)\n- [License](#license)\n- [Contact](#contact)\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nA modern Django 5.1 portfolio/showcase website built with:\n\n- **Backend**: Django 5.1.3 (LTS) with Python 3.13\n- **Database**: PostgreSQL with psycopg3\n- **Frontend**: Bootstrap 4 and vanilla JavaScript  \n- **Deployment**: Ready for Heroku, DigitalOcean, or AWS\n- **Features**: \n  - Environment-based configuration\n  - Production-ready security settings\n  - Static file handling with WhiteNoise\n  - Comprehensive documentation\n\n**Perfect for**: Portfolio sites, showcases, or as a starting template for Django projects.\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nFor development, you will need **Python 3.12 or higher**, pip, venv, and PostgreSQL installed in your environment.\n\n\u003e **For Forkers**: This project is ready to fork and deploy! See [docs/quick-start.md](docs/quick-start.md) to get started.\n\u003e \n\u003e **Upgrading**: If you're upgrading an older Django 3.0 project, see [docs/upgrade-guide.md](docs/upgrade-guide.md).\n\n### Prerequisites\n\n* A good understanding of web development (HTML, CSS, JavaScript)\n* Basic knowledge of Python and SQL database systems\n* Familar with Django framework for front-end and back-end development\n* Object-oriented Programming (OOP) paradigm\n* Model-View-Controller (MVC) paradigm\n* Model-View-ViewMode (MVVM) paradigm\n* Knowledge and use of the Command-line Interface (CLI)\n\n#### Python installation on Ubuntu\n\nOn Ubuntu 20.04 and later, Python 3 comes pre-installed. Check first to see if you have the tools required already installed:\n\n    $ python3 --version\n    $ pip3 --version\n\nHead over to the [official Python website](https://www.python.org/downloads/) and download the installer\nAlso, be sure to have `git` donwloaded and available in your PATH as well.\n\nYou can install Python and pip easily with apt install, just run the following commands:\n\n    $ sudo apt install python3\n    $ sudo apt install python3-pip\n\nThere are a few more packages and development tools to install to ensure that we have a robust setup for our programming environment:\n\n    $ sudo apt install -y build-essential libssl-dev libffi-dev python3-dev\n\nIf you need to update `pip`, you can make it using `pip`! Cool right? After running the following command, just open again the command line and be happy.\n\n    $ python3 -m pip install --upgrade pip\n\n#### PostgreSQL installation on Ubuntu\n\nInstallation of PostgreSQL via CLI:\n\n```bash\n# Create the file repository configuration:\nsudo sh -c 'echo \"deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main\" \u003e /etc/apt/sources.list.d/pgdg.list'\n\n# Import the repository signing key:\nwget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -\n\n# Update the package lists:\nsudo apt-get update\n\n# Install the latest version of PostgreSQL.\n# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':\nsudo apt-get install postgresql\n```\n\nInstallation of the pgAdmin GUI:\n\n```bash\n$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |\nsudo apt-key add -\nsudo sh -c 'echo \"deb http://apt.postgresql.org/pub/repos/apt/\n`lsb_release -cs`-pgdg main\" \u003e\u003e /etc/apt/sources.list.d/pgdg.list'\n$ sudo apt-get update\n$ sudo apt-get install pgadmin4 pgadmin4-apache2 -y\n```\n\nPlease note for sake of ease, this project is set to work with the default configurations of PostgreSQL on a local installation.\n\n\n## Installation\n\n    $ git clone https://github.com/brennanbrown/django-project.git\n    $ cd django-project\n\n### Virtual Environment (`venv`)\n\nWhile there are a few ways to achieve a programming environment in Python, we’ll be using the venv module here, which is part of the standard Python 3 library. Let’s install venv by typing:\n\n    $ sudo apt install python3.12-venv\n\nCreating and entering a new virtual environment:\n\n    $ python3.12 -m venv env\n    $ source env/bin/activate  # On Windows: env\\Scripts\\activate\n    $ pip install --upgrade pip\n    $ pip install -r requirements.txt\n\nYou can ensure that you're in your new virtual environment if you see `(env)` prepend your bash shell:\n\n    (env) user@ubuntu:~/django_project$ \n\n### Environment Configuration\n\nCopy the example environment file and configure it:\n\n    $ cp .env.example .env\n    $ nano .env  # or use your preferred editor\n\nGenerate a secure SECRET_KEY:\n\n    $ python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'\n\nAdd the generated key and your database settings to `.env`:\n\n```\nSECRET_KEY=your-generated-secret-key\nDEBUG=True\nALLOWED_HOSTS=localhost,127.0.0.1\nDB_NAME=portfoliodb\nDB_USER=postgres\nDB_PASSWORD=your-postgres-password\n```\n\n### Database Setup\n\nCreate the database and run migrations:\n\n    $ sudo -u postgres psql -c \"CREATE DATABASE portfoliodb;\"\n    $ python manage.py migrate\n    $ python manage.py createsuperuser\n\n### Running the project\n\n    $ python manage.py runserver\n\nOnce the server has started up, you can visit it at [localhost:8000/](localhost:8000/), or [127.0.0.1:8000/](127.0.0.1:8000/).\n\n## Heroku Deployment\n\nDeploy to Heroku in 5 minutes! See [docs/heroku-quickstart.md](docs/heroku-quickstart.md) for quick deployment or [docs/heroku-deployment.md](docs/heroku-deployment.md) for complete documentation.\n\n### Quick Deploy\n\n**Option 1: Automated Script**\n```bash\n./scripts/deploy-to-heroku.sh\n```\n\n**Option 2: Manual Commands**\n```bash\nheroku create your-app-name\nheroku addons:create heroku-postgresql:essential-0\nheroku config:set SECRET_KEY=\"$(python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())')\"\nheroku config:set DEBUG=\"False\"\nheroku config:set ALLOWED_HOSTS=\"your-app-name.herokuapp.com\"\ngit push heroku main\nheroku run python manage.py createsuperuser\nheroku open\n```\n\n**Option 3: GitHub Integration (No CLI needed)**\n\nSee [docs/heroku-github-deploy.md](docs/heroku-github-deploy.md) for step-by-step instructions to deploy directly from GitHub via Heroku's web interface.\n\n## Documentation\n\nComplete documentation is available in the [docs/](docs/) directory:\n\n### Quick Start\n- **[Quick Start Guide](docs/quick-start.md)** - Get running in minutes\n- **[Heroku Quick Start](docs/heroku-quickstart.md)** - Deploy to Heroku fast\n\n### Deployment\n- **[Heroku Deployment](docs/heroku-deployment.md)** - Complete deployment guide\n- **[Heroku GitHub Integration](docs/heroku-github-deploy.md)** - Deploy via GitHub\n- **[Deployment Checklist](docs/heroku-checklist.md)** - Step-by-step checklist\n\n### Upgrade \u0026 Migration\n- **[Upgrade Guide](docs/upgrade-guide.md)** - Django 3.0 → 5.1 migration\n- **[Changes Summary](docs/changes-summary.md)** - Overview of changes\n- **[Upgrade Checklist](docs/upgrade-checklist.md)** - Migration checklist\n\n### Security\n- **[Security Policy](docs/security.md)** - Best practices \u0026 vulnerability reporting\n\n### Scripts\n- **[Deploy to Heroku](scripts/deploy-to-heroku.sh)** - Automated deployment script\n\nSee the [docs/README.md](docs/README.md) for a complete documentation index.\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\nSee the [open issues](https://github.com/brennanbrown/django-project/issues) for a list of proposed features (and known issues).\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nBrennan K. Brown - [@brennankbrown](https://twitter.com/brennanbrown) - [mail@brennanbrown.ca](mailto:mail@brennanbrown.ca)\n\nProject Link: [https://github.com/brennanbrown/django-project](https://github.com/brennanbrown/django-project)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrennanbrown%2Fdjango-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrennanbrown%2Fdjango-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrennanbrown%2Fdjango-project/lists"}