- Due: 18 November
- With supporting assignments along the way
This assignment assumes that you either:
- do not have a portfolio site already
- are interested in re/building a new one
If you already have a portfolio and would like to move forward with your existing site, your site must still comply with all of the content-based best practices (see the projects section).
- Why Every Job Seeker Should Have a Personal Website
- Getting Started with GitHub Pages
- Eleventy, a simpler static site builder
Note: if you already have a site using Netlify or another provider, you do not need to rebuild it on GitHub pages; alternatively, if you would rather build using another platform, please reach out to Technical Leaders or the instructor.
This assignment is meant to jump-start the development of a personal portfolio site. Resuḿes, elevator pitches, and presentations aside, the quality and novelty of your responses to real-world practical or theoretical issues through the discipline of computer science often rests on the more concrete work that you do. Projects generated by your interes in participating in software culture serve as practical, concrete expressions of skills enumerated in professional documents and conversations. Often functioning as a "calling card" and finishing touch for your presentation of your technical identity, web portfolios do one thing well: they show your work.
But, they're not the end-point of the conversation about your professional identity. If anything, they serve as one more "entry" or "channel" to the universe of your work.
This project should result in a GitHub repository from which to deploy your site that:
- Contains website markup/code using a theme whose choices (color, layout, opportunities and abilities) are consonant with the "pre-work" completed this semester
- Comprises itself from material which features at least content from your Resuḿes, developer narrative (in the form of personal statements or an "About Me" section), and any public projects targeted toward your current professional goals (see the Projects section below)
- Provides links to your various professional social networks (including, but not limited to: LinkedIn, GitHub)
- Uses functionality to monitor and provide analytics data on visitors for your site; Google Analytics has become the de facto standard. However, tracking social media engagement can be a bit complicated{read some of Google's posts about understanding and tracking social interactions and understanding analytics
- Has a link to the final site and repository included below:
- Features a professional
README
, using a short "About Me" statement and other professional links
TODO: Paste link to final site
- A reflective statement in this repository's
reflection.md
file which addresses:
- A brief description of your site build process (including challenges and solutions)
- A summary of the audiences for which the site is built and how its overall form and content cater to their interests
- How your design decisions are informed by the various professional documents you've completed this semester
Per 11ty
guidelines, you'll need:
nodejs
> 12.0 or newer
To install a given template:
clone
the template to your repository directory, preferably as thesite
directory:
git clone URL_OF_TEMPLATE site
cd
to thesite
folder andnpm install
- For some themes (including the included example),
npm start
will launch alocalhost
server at port8080
, visit it in your browser at http://localhost:8080 - Other templates will likely have other instructions; pay attention to their
README.md
!
Your work (in any discipline) may encompass projects which do or do not include code. For every project, depending on format, any item you post to your professional portfolio site should adhere to the appropriate checklists below.
A GitHub repository stored in your personal GitHub account which stores code for a project that:
- Follows platform best practices for project documentation (specifcally as they pertain to
README.md
files, many of which appear in the GitHub Guide to Documenting your projects on GitHub) - Contains full and complete source for the program; this includes installation and any needs for deployment
- Uses in-line comments or documentation to enhance understanding and code legibility
- Organizes itself according to practices like those proposed by this helpful repository
- Observes and implements licensure correctly (respecting Fair Use, other other contemporary conventions around licensing and copyright
- Appears in any combination of languages or scripts, keeping in mind that many different communities institute different kinds of best practices with regards to formatting and syntax
- Uses GitHub Flow best practices including branching, merging, and descriptive, professional documentation of process (i.e. commit messages, et al.)
Note on GitHub repositories: adding the appropriate license is a requirement (in addition to the recommended documentation). Consult this guide to understand the various licenses and how to use them.
The rules for these necessarily ambiguous projects are, themselves, necessarily ambigious. However, for any public project you wish to use as a portfoio item:
- Edit and revise to ensure documents are free of typographical or content-based issues
- Incorporate some element of design if the medium requires it (for example, revisit visual aesthetics for a Powerpoint presentation deck or other visual media)
- Include links to any relevant portions of the project which are hosted elsewhere
- Provide a brief 100-200 word description of the project which describes its source, intent, and outcome -- especially if the project had a public impact or outcome
If planning a blog, include (in the repository's reflection.md
) a standard publishing schedule (e.g. frequency of posts, channels -- social media -- where this content will be shared, and how often).
This assignment does not inherently have grading tiers. The work we complete along the way will, though. Given that this work will feed into your site's process, the end result of a higher-quality process should lead to an inevitable higher-quality site.
You are welcome to work on this project during dedicated class time in your groups, and I suggest doing so as you will have the most direct support from instructors or Technical Leaders. Know, however, that projects like the above often require considerable "off-hours" labor and maintenance.