Skip to content

brown-ccv/cbc-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

785 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CBC Website

This is the website for the Center for Computational Biology at Brown University.

Getting Started

1. Install Dependencies

npm install

2. Authenticate with Google Cloud

This 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-cli

Once 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.

3. Build

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 build

4. Run the Development Server

npm run dev

Hosting

Hosting 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.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

About

cbc website using ccv website components

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 9