|
1 | 1 | # Computational Biology at Berkeley |
2 | 2 |
|
3 | | -## How to edit the code |
| 3 | +The public website for Computational Biology at Berkeley, built with Vite, React, TypeScript, shadcn/ui, and Tailwind CSS. |
4 | 4 |
|
5 | | -**Use your preferred IDE** |
6 | | - |
7 | | -If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable. |
8 | | - |
9 | | -The only requirement is having Node.js & npm installed - [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating) |
10 | | - |
11 | | -Follow these steps: |
| 5 | +## Local development |
12 | 6 |
|
13 | 7 | ```sh |
14 | | -# Step 1: Clone the repository using the project's Git URL. |
15 | | -git clone <YOUR_GIT_URL> |
16 | | - |
17 | | -# Step 2: Navigate to the project directory. |
18 | | -cd <YOUR_PROJECT_NAME> |
19 | | - |
20 | | -# Step 3: Install the necessary dependencies. |
21 | | -npm i |
22 | | - |
23 | | -# Step 4: Start the development server with auto-reloading and an instant preview. |
| 8 | +npm ci |
| 9 | +npm test |
24 | 10 | npm run dev |
25 | 11 | ``` |
26 | 12 |
|
27 | | -**Edit a file directly in GitHub** |
| 13 | +Run `npm run build` for the same credential-free production build used by GitHub Pages. The build validates officer data before compiling the site. |
| 14 | + |
| 15 | +## Officer data |
28 | 16 |
|
29 | | -- Navigate to the desired file(s). |
30 | | -- Click the "Edit" button (pencil icon) at the top right of the file view. |
31 | | -- Make your changes and commit the changes. |
| 17 | +Fall 2026 deliberately separates approved roster decisions from submitted public profile content: |
32 | 18 |
|
33 | | -**Use GitHub Codespaces** |
| 19 | +- `src/data/officersFa26Roster.json` owns cohort membership, roles, order, stable IDs, and fallback portraits. |
| 20 | +- `src/data/officerProfilesFa26.json` is a reviewed, public-only snapshot of the latest officer form responses. |
| 21 | +- `src/data/compileOfficerDirectory.js` matches responses to the roster, keeps the newest nonblank public fields, normalizes links, and ignores unmatched people. |
| 22 | +- `public/officers/fa26/` stores stable headshot assets. |
| 23 | +- `public/officers/archive/` stores immutable Fall 2025 and Spring 2026 snapshots so historical tabs work in a clean checkout. |
34 | 24 |
|
35 | | -- Navigate to the main page of your repository. |
36 | | -- Click on the "Code" button (green button) near the top right. |
37 | | -- Select the "Codespaces" tab. |
38 | | -- Click on "New codespace" to launch a new Codespace environment. |
39 | | -- Edit files directly within the Codespace and commit and push your changes once you're done. |
| 25 | +Never copy private form fields such as email, phone number, or birthday into the repository. Run: |
40 | 26 |
|
41 | | -## What technologies are used for this project? |
| 27 | +```sh |
| 28 | +npm test |
| 29 | +npm run validate:officers |
| 30 | +``` |
42 | 31 |
|
43 | | -This project is built with: |
| 32 | +The validator reports unmatched responses, invalid public links, missing assets, and officers still waiting for a current profile response. See `scripts/README.md` for the update workflow and `.agents/skills/pre-production-checklist/SKILL.md` before a production promotion. |
44 | 33 |
|
45 | | -- Vite |
46 | | -- TypeScript |
47 | | -- React |
48 | | -- shadcn-ui |
49 | | -- Tailwind CSS |
| 34 | +## Deployment |
50 | 35 |
|
51 | | -## How can I deploy this project? |
| 36 | +- Pushes to `dev` deploy the staging GitHub Pages site from the `Hilo-Hilo` staging repository. |
| 37 | +- Pushes to `main` deploy production from `CompbioAtBerkeley/compbioatberkeley.github.io`. |
52 | 38 |
|
53 | | -Everything is automatically deployed once pushed so make sure to test the project before pushing. |
| 39 | +Neither build reads Notion or Google Sheets credentials. Form intake is reviewed and versioned before publication, so the same commit produces the same site in local, staging, and production environments. |
0 commit comments