Example Project
===============
You can use the following example project to get started with django-resume.
Set up the project
------------------
Clone the repository:
.. code-block:: sh
$ git clone git@github.com:ephes/django-resume.git
Set up the virtual environment:
.. code-block:: sh
$ cd django-resume
$ uv venv
$ uv sync
Run the example project:
.. code-block:: sh
$ just serve-example
This is shorthand for:
.. code-block:: sh
$ cd example
$ uv run python manage.py runserver
Log in via the admin interface:
- `Local admin `_ (username: ``user``, password: ``password``)
Visit the list of example resumes:
- `Local resumes `_
The example project root URL ``http://localhost:8000/`` redirects anonymous
users to the admin login and authenticated users to the same resume list.
You can edit the example resumes either via the django admin interface or via
the inline editing feature by clicking on the "Edit" button.
The example project demonstrates built-in and filesystem-based custom plugins.
Example page plugin: the Portfolio page
---------------------------------------
The ``core`` app also contributes a custom **page** -- a third-party
``PortfolioPage`` defined in ``example/core/resume_pages.py`` and discovered
automatically on startup (see :doc:`creating_page_plugins`). It needs no change
to django-resume itself and no migration.
Because it sets a ``nav_title``, its link also appears automatically in the
resume overview ("My Resumes") next to the built-in Cover/CV links. Visit it for
any resume at ``//portfolio/``, for example:
- `Portfolio page `_
As the resume owner, open ``//portfolio/?edit=true`` to edit the sections
shown on the page (identity, about, skills, projects) inline; changes persist to
``Resume.plugin_data`` exactly like the built-in pages. Anonymous and non-owner
visitors see the read-only page with no edit controls. The page ships ``plain``
and ``headwind`` templates under ``example/core/templates/django_resume/pages/``.