Backpacking is a degree progress tracker built with HTML, CSS, Charts.css, and mustache.js. For more on why Backpacking exists, see MOTIVATION.
Want to use Backpacking to track your own progress toward your degree? Read on!
- You do not need any prior knowledge of HTML, CSS, or JavaScript, unless you intend to make substantial changes to Backpacking's core structure or logic. Specifically: Backpacking is designed to track degree progress in terms of course completion only. If you want to track additional degree requirements (such as a comprehensive exam, thesis, or co-op/internship), you may need to extend the data, logic, template, and/or styling, in which case, some experience with HTML, CSS, and JavaScript is recommended.
- You will need to have git installed. Familiarity with common git actions, whether via command-line or GUI, is recommended. You will also need a GitHub account.
- You will need to use a command-line tool to generate a Backpacking page that reflects your degree progress. You should be comfortable running commands from the command line (either in an IDE, or in a standalone app such as Terminal, Git Bash, etc.). You will also need Node.js and npm, which you can install by following the instructions on the Node.js download page.
-
Fork and clone this repository. (If you've never done this before, or if it's been a while, check out the GitHub guides: Fork a repository and Cloning a repository).
-
Open the project in any text editor.
-
In your text editor, navigate to the
datadirectory. You will see several.jsfiles. You will not need to updatedata.js,lastUpdated.js, orstatus.js. You may need to updateterm.js(if your school has terms other than Fall, Spring, and Summer). You will almost certainly want to update the following:student.js: Fill in your name, degree level, degree name (major), and school name.schools.js: Update this to reflect your school (or schools, if you're a transfer student). In most cases, the value (the text in quotes) should be the same as the key (the text before the colon). It might seem redundant, but this will help you avoid typos when filling in your course details, allowing you to typeSchools.CSU(for example), benefitting from your editor's tab-completion, instead of carefully typing'CSU'dozens of times.departments.js: Update this to reflect the departments you're taking courses in. These should be the same as the department abbreviations used in course numbers, e.g., theENGLinENGL 101. Follow the same pattern here as inschools.js.courses.js: Using the default data as an example, fill in your course details. Make sure each course has the following: school, department, number, name, credits, status, term, and year. Note that Backpacking does not sort the course list. If you want your courses to appear in a certain order (such as chronological), you will need to put them in that order in thecourses.jsfile.colors.js: The default colors are official Colorado State University colors (current as of January 2026). To find your school colors, try searching your school's website for "branding" or "design guidelines".coAuthor.js: The page footer includes some information about the original creator of Backpacking and the resources she used to build it. If you want to add your own name to the footer, fill in the quotes next tocoAuthorName. If you want your name to link to your personal website or some other presence on the web (such as your GitHub profile), fill in the quotes next tocoAuthorURL. Make sure the URL is complete, including the leadinghttps://. If you don't want to include your name or website in the footer, leave these items blank.
-
Make sure you have Node.js and npm installed. If you don't, see Prerequisite #3.
-
Install the mustache.js command-line tool from npm:
npm install -g mustache. -
From the
backpackingdirectory, run the following command:mustache data/data.js template.html > index.htmlThis will combine your data with the mustache template and generate a new HTML file.
-
Open
index.htmlin any web browser to check out the results! -
Need to make any changes? Whether you want to update a course's completion status, fix a typo in a course name, or experiment with different color combinations, the process is the same:
- Update any
.jsfiles you need to update. - Re-run
mustache data/data.js template.html > index.html. - Refresh (or re-open) the page in your web browser.
- Update any
-
Ready to publish your page on the web?
- First, follow the GitHub guide, Configuring a publishing source for your GitHub Pages site, to tell your fork of Backpacking to publish to GitHub Pages whenever changes are pushed to a specific branch. (You only need to do this once.)
- Next, commit and push your changes to your GitHub fork.
- Follow the instructions in the GitHub guide, Viewing your published site, to see your page live!
- Make sure everything looks the way you expect it to. If you need to make any changes, repeat steps 8 and 9 as needed.
-
Next time you complete a course, return to your course list and update that course's status. Repeat steps 8 and 9 to refresh your Backpacking page and show off your progress to the world!