CruzHacks 2024 website built with React, Typescript, Tailwind, and hosted with firebase. Website depends on firestore rules, indexes, and functions defined in CruzHacks 2024 backend.
- Clone this repository
- Install nvm to use a specific version of
node; in this case, v18.18.2
2a. run
command -v nvm
to check if nvm is installed correctly, should outputnvm
- Use
nvm install 18
andnvm use 18
to use version 18 of node, you may have to redo this step each time you open terminal - Navigate to the root of the repository and run
yarn
to install all the dependencies - Find/create .env file according to .env.sample (optional: create/find .env.production for production environment)
- Run
yarn start
to start the frontend
- Install Firebase CLI to emulate
hosting or deploy to staging. We recommend installing through npm via
npm install -g firebase-tools
- Login using
firebase login
- Test the CLI is working properly and you have access to CruzHacks firebase
projects using
firebase projects:list
(you may not have access to production for security reasons, however you need access to development to emulate:hosting locally) - Deploy to development or production using
yarn deploy:dev
oryarn deploy:prod
yarn start
- starts a development serveryarn lint
- runs the linter for all typescript filesyarn format
- runs the prettier formatter for all typescript filesyarn build
- creates a development buildyarn build:prod
- creates a production buildyarn preview
- preview the buildyarn emulate:hosting
create a build and emulate firebase hostingyarn deploy:dev
- deploy to firebase development project- as defined by
default
project anddevelopment
target in /.firebaserc
- as defined by
yarn deploy:prod
- deploy to firebase production project- as defined by
production
project and target in /.firebaserc
- as defined by
Site Map, Feature List, UI Mockups, Style Guide, etc.
Reach out to 2024 CruzHacks Engineering Director Zack Traczyk regarding any questions about the codebase.