Skip to content


Repository files navigation


Node.js CI Build Lint Netlify Status

Passworks is one of ACM Teach LA's first learning labs, a set of interactive online web modules designed to make learning easier. This specific learning lab is focused on password security: we teach students about using long and complex passwords, not using common passwords, and a taste of social engineering. We designed the content in conjunction with ACM Cyber. Big thanks to our content lead, Alyssa Wang, and our lead developer, Jamie Liu!

We wrote a blog post explaining how this module was made - check it out!

We ran a beta-test of Passworks with CityLab at UCLA for our Cyber Day with CityLab in August 2020.

This project was written with React, primarily relying on Material-UI components. We also make use of react-router and Dropbox's zxcvbn, as well as a list of the most common passwords from Wikipedia. It was bootstrapped with Create React App. It is deployed with Netlify.

Development Setup

We'll use a really common Node.js project workflow!

First, let's clone our repository, and install all of our node dependencies:

git clone
cd passworks
npm install

To start our app, you just need to run npm start!

npm start

And to build our project for production (with CRA's webpack bundling and all that goodness),

npm run build

Note: we've added a pre-commit hook (with husky) that runs Prettier and ESLint. Admittedly, our rules are tighter than most, so we recommend you install an IDE plugin to make your development workflow easier.

Licensing & Attribution

This project and its code are licensed under the MIT License. You're free to use them however you wish, though we'd love to hear from you if you found this useful!