{"id":26730277,"url":"https://github.com/caltechmsc/site","last_synced_at":"2026-05-08T05:03:30.071Z","repository":{"id":274219849,"uuid":"921964294","full_name":"caltechmsc/site","owner":"caltechmsc","description":"The Caltech Materials and Process Simulation Center (MSC) website.","archived":false,"fork":false,"pushed_at":"2025-02-20T18:00:21.000Z","size":26155,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T18:27:58.463Z","etag":null,"topics":["caltech","nodejs","site","tailwindcss","website"],"latest_commit_sha":null,"homepage":"http://www.wag.caltech.edu","language":"EJS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caltechmsc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-25T00:53:19.000Z","updated_at":"2025-02-20T18:00:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"cddf9204-a443-43ba-9ef9-6aeae7a2894c","html_url":"https://github.com/caltechmsc/site","commit_stats":null,"previous_names":["tkanx/msc-website","caltechmsc/site"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechmsc%2Fsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechmsc%2Fsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechmsc%2Fsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechmsc%2Fsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caltechmsc","download_url":"https://codeload.github.com/caltechmsc/site/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245938225,"owners_count":20697008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caltech","nodejs","site","tailwindcss","website"],"created_at":"2025-03-27T23:16:37.717Z","updated_at":"2026-05-08T05:03:30.058Z","avatar_url":"https://github.com/caltechmsc.png","language":"EJS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e ⚠️ **Repository Archived**\n\u003e\n\u003e This legacy repository has been archived. The new, modernized platform (v2) built with Next.js is located at: **[https://github.com/caltechmsc/site-next]**\n\n# Materials and Process Simulation Center (MSC) Website\n\nWelcome to the official repository for the Caltech Materials and Process Simulation Center (MSC) website! This platform serves as a comprehensive hub for showcasing the groundbreaking research, publications, and events of MSC, while providing a streamlined experience for both administrators and users.\n\n\u003e This project is structured as a **full-stack application** with separate **frontend** and **backend** components.\n\n## 🌐 Overview\n\nThe MSC website is designed to offer:\n\n- A public-facing portal to **explore research, publications, and member details**.\n- A secure admin dashboard for **efficient content management**.\n- Auto-crawling of **publications** from external sources. (Caltech Library)\n- A **responsive design** for seamless user experience across devices.\n- **SEO optimization** for improved visibility on search engines.\n\n## 📋 Features\n\n### Public Website\n\n- **About MSC**: Insights into the center, team biographies, and achievements.\n- **Research**: Detailed information on research areas and projects.\n- **Publications**: Access the latest papers, archives and most cited works.\n- **Members**: Browse through the MSC team and their respective profiles.\n- **Collaborators**: Information on external collaborators and their affiliations, and an interactive world map with pins representing all collaborators along with detailed information.\n- **Events**: View group photos, upcoming events, and a dynamic calendar.\n\n### Admin Dashboard\n\n- **Administrator Management**: Manage the list of administrators.\n- **Member/Collaborator Management**: Add, edit, or remove members and collaborators.\n- **Content Management**: Update research overviews, member bios, and more with Quill.js.\n- **Publication Crawling**: Fetch and display publications from the Caltech Library, monitor crawling status, and initiate re-crawling.\n- **Event Management**: Upload and manage group photos.\n- **Google OAuth Support**: Support for Google OAuth 2.0 authentication for admin login.\n\n## 🛠️ Technologies\n\n- **Frontend**: Node.js, Express.js, HTML (EJS), CSS (Tailwind CSS), JavaScript, Quill.js\n- **Backend**: Node.js, Express.js, SQLite, Cheerio.js\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- **Node.js**: Install the latest version of Node.js from the [official website](https://nodejs.org/).\n- **Nginx**: Install Nginx to serve the frontend and backend on a single domain. (for reverse proxy) (Optional)\n\n### Installation\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/caltechmsc/site.git \u0026\u0026 cd site\n   ```\n\n2. **Setup the backend**:\n\n   1. Create a `.env` file in the `backend` directory and add the following environment variables:\n\n      ```env\n      PORT=5000 # Port number for the server (default: 5000)\n      HOST=localhost # Host address for the server (default: localhost)\n      JWT_SECRET=secret # Secret key for JWT token generation\n      PUBLICATIONS_URL=https://feeds.library.caltech.edu/people/Goddard-W-A-III/article.json # URL for the Caltech Library publications\n      PUBLICATIONS_HTML_URL=https://caltech-msc.github.io/publications/pubs-current.html # URL for the Caltech Library publications HTML (GitHub Pages)\n      ```\n\n   2. Install the dependencies:\n\n      ```bash\n      cd backend # Move to the backend directory\n      npm install # Install the dependencies\n      ```\n\n   3. Start the backend server:\n\n      ```bash\n      npm start # Start the backend server\n      ```\n\n   4. Go back to the root directory:\n\n      ```bash\n      cd .. # Move to the root directory\n      ```\n\n3. **Setup the frontend**:\n\n   1. Create a `.env` file in the `frontend` directory and add the following environment variables:\n\n      ```env\n      PORT=3000 # Port number for the server (default: 3000)\n      HOST=localhost # Host address for the server (default: localhost)\n      GOOGLE_CLIENT_ID=client_id # Google OAuth 2.0 client ID\n      ```\n\n      \u003e **Note:** The `GOOGLE_CLIENT_ID` is required for the admin dashboard for google login. You can generate the client ID from the [Google Cloud Console](https://console.cloud.google.com/).\n\n   2. Install the dependencies:\n\n      ```bash\n      cd frontend # Move to the frontend directory\n      npm install # Install the dependencies\n      ```\n\n   3. Build the Tailwind CSS:\n\n      ```bash\n      npm run build:css # Build the Tailwind CSS\n      ```\n\n   4. Start the frontend server:\n\n      ```bash\n      npm start # Start the frontend server\n      ```\n\n   \u003e **Note:** The configuration to connect to the backend server is already set in the frontend application. If you want to change the backend server address, configure the server URL in the `frontend/public/js/app.js` file (Default: `/api`).\n\n4. **Setup Nginx (Optional)**:\n\n   1. Configure Nginx as a reverse proxy `/api` to the backend server. (Default: `http://localhost:5000`)\n   2. Configure Nginx to serve the frontend application. (Default: `http://localhost:3000`)\n   3. Restart Nginx to apply the changes.\n\n5. **Access the application**:\n\n   Open the browser and navigate to the server address to `http://localhost` to access the MSC website. (Use the configured Nginx server address if applicable)\n\n\u003e **Note:** If you are developing the application, you need to install the development dependencies in the root directory to use linting and formatting tools.\n\n## 📂 Documentation\n\n- **[Installation Guide](docs/INSTALLATION.md)**: Step-by-step guide to set up the project.\n- **[Backend API Documentation](docs/API.md)**: Detailed documentation for the backend API endpoints.\n\n## 📝 License\n\nThis project is not licensed under any open-source license currently. All rights are reserved by the Caltech Materials and Process Simulation Center (MSC).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltechmsc%2Fsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaltechmsc%2Fsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltechmsc%2Fsite/lists"}