The website is built using Firebase, Next.js and deployed at Vercel.
The code was forked from Brazillians who Design. The following instructions should help you running on your local machine to get started.
Making sure you're in the correct project folder and install the dependencies:
pnpm install
To start the development server with mock data run:
pnpm dev
This sets NODE_ENV=development and uses mock user data for local development.
To start the server with real Firebase data run:
pnpm test
This sets NODE_ENV=test and connects to the actual Firebase database.
To start the email templating server run:
pnpm dev:email
In your browser, open localhost:3000.
This project includes linting that integrates ESLint, TypeScript, and Prettier:
# Lint your code (shows warnings but won't fail)
pnpm run lint
# Auto-fix many linting issues
pnpm run lint:fix
# Type checking (must pass for production)
pnpm run type-check
# Format code with Prettier
pnpm run format
# Run both type checking and linting
pnpm run checkSee LINTING.md for detailed information about the linting setup.
This project uses Jest for unit testing, particularly focused on API endpoint testing with comprehensive mocking for Firebase and external dependencies.
# Run all tests
pnpm run test:unit
# Run tests in watch mode (auto-reruns on file changes)
pnpm run test:unit:watch
# Run tests with coverage report
pnpm run test:unit:coverage
# Run specific test file
pnpm run test:unit tests/api/is-admin.test.tsIf you are looking to access the Firebase data, please reach out to our Hawaiians In Tech website development team on our Discord.
Note: You no longer need to manually switch imports to use mock data. The application automatically uses mock data when running in development mode (pnpm dev) and real Firebase data when running in test mode (pnpm test with Firebase access).
The following are a few useful VS Code extensions that may help during development:
prettiereslintbeautifyvscode-styled-components