The motivation for this project was to learn about Nuxt 3 and to raise awareness about possible gun control policies. The site was is mobile friendly and designed in Figma, built in Nuxt 3 and deployed using Vercel.
Hopefully by summarising some gun control policies and collating links to gun control advocacy groups and initiatives this website contributes, in some small way, to the reduction of gun violence in America.
The project is made up of 5 modules of which there are 3 components, 1 layout and 1 page with the most complex being the header component. The most important modules to understand are described below:
layouts/BaseLayout.vue
- This component is the entry point of the application and renders the header and footer along with a slot for page contentpages/index.vue
- This component represents the single page of the application and uses thecomponents/GunPolicy.vue
component to render the 10 policies.
After cloning this repository, make sure to have node installed (this project uses NVM to manage node versions) and then navigate to the root of the project and run the following commands:
pnpm install
pnpm run dev
The majority of the information in this site came from a youtube video by David Pakman which can be found here. Alongside the video I found additional information for some of the policies from the following sites:
- Gun Show Loophole-https://giffords.org/lawcenter/gun-laws/policy-areas/gun-sales/gun-shows/
- Universal background checks-https://giffords.org/lawcenter/gun-laws/policy-areas/background-checks/universal-background-checks/ https://www.everytown.org/what-is-the-background-check-loophole/
- Increase Mandatory Waiting Periods-https://www.aap.org/en/advocacy/state-advocacy/waiting-periods-for-firearms-purchases/
- Age Restrict High Capacity Firearms-https://www.rand.org/research/gun-policy/analysis/minimum-age.html
- Animate header when screen size is above small tablet (the gun "shoots" the bullet across the page)
- Add sources to the information directly like acidemic papers do
- Store readme assets in github and reference via raw content