This is the website for the Center for Computational Biology at Brown University.
npm installThis project interacts with Google Cloud services (e.g., Google Cloud Secret Manager). To allow your local development environment to access these services, we use Application Default Credentials (ADC). ADC enables your application to automatically find credentials without requiring hardcoded keys.
You'll need the gcloud-cli (Google Cloud CLI) installed. If you don't have it, you can install it. For macOS/Linux users, Homebrew is a convenient option:
# For macOS
# https://formulae.brew.sh/cask/gcloud-cli
brew install gcloud-cliOnce gcloud-cli is installed, log in to set up your Application Default Credentials for your user account:
gcloud auth application-default login
Important
Important Note on Service Accounts: While gcloud auth application-default login sets up user credentials for ADC, in production environments (like Firebase App Hosting), a dedicated service account is typically used for authentication. This ensures your application has only the necessary permissions and improves security. Your local setup emulates this access pattern.
Before running the development server, it's recommended to build the project. This compiles the Next.js application for production and can help catch configuration errors or issues early.
This step also copies images from the content folder into the public directory. You don't need to run this command every time you develop locally, but if you make changes to images in the content folder, you'll want to rebuild.
npm run buildnpm run devHosting created from CCV Hosting Preview Repo
Containerized in Docker, stored in an image on Google Container Registry, and run via Google Cloud run (Project
ID: ccv-website-next).
Secrets are in Google Cloud Secret Manager.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!