{"id":29338366,"url":"https://github.com/vladislavalerievich/portfolio-website","last_synced_at":"2025-07-08T06:13:22.968Z","repository":{"id":39714474,"uuid":"108879124","full_name":"vladislavalerievich/portfolio-website","owner":"vladislavalerievich","description":"Portfolio website built with Wagtail CMS","archived":false,"fork":false,"pushed_at":"2023-02-04T15:44:06.000Z","size":4112,"stargazers_count":120,"open_issues_count":0,"forks_count":53,"subscribers_count":6,"default_branch":"master","last_synced_at":"2023-11-07T19:16:57.179Z","etag":null,"topics":["bootstrap-theme","cloudinary","cms-backend","django","django-heroku","freelancer","heroku","herokuapp","personal-website","portfolio-website","python","wagtail","wagtail-cms"],"latest_commit_sha":null,"homepage":"https://vladislavalerievich.herokuapp.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vladislavalerievich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-30T16:39:02.000Z","updated_at":"2023-11-07T14:18:18.000Z","dependencies_parsed_at":"2023-02-18T17:31:23.054Z","dependency_job_id":null,"html_url":"https://github.com/vladislavalerievich/portfolio-website","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/vladislavalerievich/portfolio-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladislavalerievich%2Fportfolio-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladislavalerievich%2Fportfolio-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladislavalerievich%2Fportfolio-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladislavalerievich%2Fportfolio-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vladislavalerievich","download_url":"https://codeload.github.com/vladislavalerievich/portfolio-website/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladislavalerievich%2Fportfolio-website/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264208388,"owners_count":23572990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bootstrap-theme","cloudinary","cms-backend","django","django-heroku","freelancer","heroku","herokuapp","personal-website","portfolio-website","python","wagtail","wagtail-cms"],"created_at":"2025-07-08T06:13:20.399Z","updated_at":"2025-07-08T06:13:22.962Z","avatar_url":"https://github.com/vladislavalerievich.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Django personal portfolio website\n\nThis is a Python Django-based personal portfolio website.\n\nThe website uses [Wagtail CMS](https://github.com/wagtail/wagtail). Wagtail is a Django Content Management System.\n\nAll content: personal information, portfolio projects, social media links, Google Analytics tracking code, etc. can be\nadjusted in Wagtail admin.\n\nThe fronted theme is an inspiration from [Start Bootstrap Freelancer theme](https://startbootstrap.com/theme/freelancer)\n.\n\nThis repo can be used as a starting point for developing a production-ready Django personal website with deployment to\nHeroku. I am releasing the full source code for the site so that others may benefit from it.\n\n## Live website\n\nTo view the website demo, please visit [vladislavalerievich.herokuapp.com](https://vladislavalerievich.herokuapp.com/).\n\n\u003e **_NOTE:_**  The web application may take a few seconds to start up.\n\n## Local development\n\nSetup local environment for the development process.\n\nGo to `./portfolio` directory and activate virtual environment.\n\n#### Run in a terminal\n\n```shell\npip install -r requirements.txt\npython manage.py migrate\npython manage.py createsuperuser\npython manage.py runserver\n```\n\nGo to `http://127.0.0.1:8000/admin/` in your browser to the Wagtail CMS admin to populate it with your data and to\nconfigure homepage.\n\n## Production deployment\n\nHeroku uses `Dockerfile` to build and run the application.\n\nTo deploy your application on Heroku, you need to do several things:\n\n1) [Create Heroku Account](https://signup.heroku.com/dc)\n2) [Download/Install/Setup Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n3) After installation, log into Heroku CLI: `heroku login`.\n4) Run: `heroku create \u003cyour app name\u003e` to create the Heroku application.\n5) Run: `heroku stack:set container` so Heroku knows this is a containerized application.\n6) Run: `heroku addons:create heroku-postgresql:hobby-dev`, creating the Postgres add-on for Heroku.\n7) Set the URL (e.g. `https://\u003capp name\u003e.herokuapp.com)` of your application into environment variable`HOST_NAME` in\n   Heroku config settings.\n8) To receive emails from the contact form you need an email account. If you choose Google, you need to\n   configure [Sign in with App Passwords]( https://support.google.com/accounts/answer/185833?hl=en) for this account.\n   Then provide your email and password into environment variables `EMAIL_HOST_USER`\n   and `EMAIL_HOST_PASSWORD` in Heroku config vars settings.\n9) To store media files you need to configure storage. I have chosen [Cloudinary](https://cloudinary.com/).\n   Run: `heroku addons:add cloudinary` and proceed with finishing account setup. Then provide data from dashboard into\n   environment variables `CLOUDINARY_CLOUD_NAME`, `CLOUDINARY_API_KEY` and `CLOUDINARY_API_SECRET` in Heroku config\n   settings.\n10) Deploy your app by running: `git push heroku master`.\n11) Create a superuser by running: `heroku run python manage.py createsuperuser`.\n12) Go to `\u003cyour app name\u003e.herokuapp.com` to see the published web application.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladislavalerievich%2Fportfolio-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvladislavalerievich%2Fportfolio-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladislavalerievich%2Fportfolio-website/lists"}