NHS Website. Live @ http://hhnhs.herokuapp.com
What is This
In high school, I was a National Honor Society (NHS) officer and promised to create an application to digitize the logging of community service hours. Before, members had to go to the NHS advisor's room, request to get the "NHS notebook", flip through hundreds of pages to find their name, write their community service hours in, and then repeat this process for each new community service event they completed. It was 2016 at the time. Who uses paper to log things in 2016?
It is a pretty simple CRUD app built with the MEAN stack, deployed to Heroku. It includes the following features:
- A member can log and track their community service events and hours
- Admins can add "Upcoming Events" that everyone can see
- Autocomplete when logging a new community service event
- Admin control dashboard with password
- Admins can check off (verify) member hours in the Member List
- Fully responsive design
Instructions for Viewing
- Download the Version 4
- Download the file and run it. Go through the set up
Click on the green
clone or downloadbutton above. Click download zip.
Open it up and unzip it. That means drag the folder onto your Desktop. Google how to unzip if you cant figure this out.
When thats done open up the
hh-nhs-masterfolder that you saved.
Shiftand right click (you have to right click near the bottom of the window in a space that is white). Click open in command prompt.
npm install. This will install dependencies from the internet into your project.
Type the following
Open up a web browser and type in the following url
Instructions for Deploying
There are two branches on this project: the
production. Pushing to the
production branch will trigger a deploy to Heroku, which will deploy a new change!
production branch is different because it minifies and concatenates all of the HTML templates and JS files. This reduces filesize and server requests, which is pretty important when you are using a free hosting service.
To deploy a change
- Install Grunt with
npm install -g grunt, a build tool used to automate certain tasks.
- Switch to the production branch.
git checkout production
- Pull the changes.
git pull master
- Minify the Javscript and angular HTML templates
- just running
- just running
git add .
git commit -m "built"
git push origin production
- Switch back to master branch!
git checkout masterIf you forget this, you will be editing the wrong branch!
I have a shell script that does this all for me, but I figured it's important to understand how the deployment process works.