ARCC Check out our Compodoc Documentation
Have problems or feature requests? Leave us an issue in Github Issues and I'll try to get to it as fast as possible.
An Angular 8 webpage for the JHS ARCC Club, an autonomous RC car club out of Jesuit High School Sacramento.
Designed and developed by Caelin Sutch.
This project is hosted with Firebase webhosting and uses Firestore for the blog and Angolia for search. Firebase functions is used to sync Firestore with the Angolia database used for searching. Fireauth through Google oAuth is used for creating user accounts. Bootstrap 4 is used for layout, and ngx-markdown is used for markdown support.
I question myself daily why I chose to run an Angular app opposed to a static webpage, but here we are and it's too late for me to redo everything.
Backend is handled by the library @angular/fire
, so Firebase functions and http requests aren't used directly in the code.
- Install NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
- Install node 12
nvm install 12
- Set node 12 as default
nvm alias default 12
- Install Angular CLI globally
npm i -g @angular/cli
- Install Compodoc
npm i -g @compodoc/compodoc
- Clone repository
git clone https://github.com/JHS-ARCC-Club/arcc-website
- Install packages
npm i
- Start development server
ng s
Optional for Database and Functions Testing
- Install Firebase
npm i -g firebase
and setup/login to account. For permissions to release, contact Caelin
Each page has its own lazy loaded module.
Every section in an html page is broken up into a seperate component.
There are some prebuilt scss variables you can import from _common.scss
in the /styles
folder. Breakpoint and color variables are included, I'd look at those. In terms of formatting, reference how I did formatting on the home page for scss. I embed structures, an example is included below.
.home {
&__btn {
background-color: white;
}
&__block {
display: block;
margin: 21em;
}
}
I already have bootstrap included for formatting as wells as the scss variables above. For animations, reference animations.css in the project, there are already some prebuilt animation classes in there.
Make sure all your code is linted and built before pushing, Travis will run ng lint
and npm run build
before deploying, if code is not properly linted the build will fail and I will be sad.
- Merge into master branch
- Build documentation
npm run doc
- Push to Master where deploy is handled by Travis
git push
If you have any questions, shoot Caelin a question.