{"id":17794587,"url":"https://github.com/alexander-ding/commontime","last_synced_at":"2026-02-03T07:31:28.838Z","repository":{"id":37880427,"uuid":"263972132","full_name":"alexander-ding/commontime","owner":"alexander-ding","description":"Commonwealth School's scheduling app/website","archived":false,"fork":false,"pushed_at":"2023-01-09T12:25:30.000Z","size":1660,"stargazers_count":0,"open_issues_count":21,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-16T23:31:29.345Z","etag":null,"topics":["firebase","react","reactjs","redux"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexander-ding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-14T16:47:55.000Z","updated_at":"2021-08-06T06:59:28.000Z","dependencies_parsed_at":"2023-02-08T11:32:09.738Z","dependency_job_id":null,"html_url":"https://github.com/alexander-ding/commontime","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alexander-ding/commontime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexander-ding%2Fcommontime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexander-ding%2Fcommontime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexander-ding%2Fcommontime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexander-ding%2Fcommontime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexander-ding","download_url":"https://codeload.github.com/alexander-ding/commontime/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexander-ding%2Fcommontime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29037469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T06:39:36.383Z","status":"ssl_error","status_checked_at":"2026-02-03T06:39:32.787Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["firebase","react","reactjs","redux"],"created_at":"2024-10-27T11:17:17.988Z","updated_at":"2026-02-03T07:31:28.824Z","avatar_url":"https://github.com/alexander-ding.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Commontime\n\n![Build and Deploy](https://github.com/alexander-ding/commontime/workflows/Build%20and%20Deploy/badge.svg)\n\nThis is the source code of [Commonwealth School](https://www.commschool.org/)'s scheduling app/website.\n\nIt is built using [React.js](https://reactjs.org/) and [Redux](https://redux.js.org/) with a Google Firebase backend. Email service is provided by [Mailjet](https://app.mailjet.com/). Error analytics is handled using [sentry.io](https://sentry.io/).\n\n## Getting Started\n\n### Requirements\n\nFirst of all, if you want to contribute to the project, contact a current developer to add you the as a collaborator to the Firebase project.\n\nInstall [Node.js](https://nodejs.org/en/download/), and use it to install React by running\n\n```npm install -g create-react-app```\n\nInstall the firebase CLI by running\n\n```npm install -g firebase-tools```\n\nThen sign into Firebase using your Google account by running\n\n```firebase login```\n\nMake sure that you're signing in with the Google account that has edit access to the Firebase project.\n\nClone this repository and cd into it. Install the npm packages for both the root directory (for the frontend) and the `functions` directory.\n\n```npm install \u0026\u0026 cd functions \u0026\u0026 npm install```\n\n`cd` back to the root directory and run\n```npm run sync-config```\nto clone the environmental variables set on the cloud to your local machine for development.\n\n**Note**: use `firebase functions:config:set key.subkey=value` to config additional variables. Every time you make changes to the config variables, you must rerun `npm run sync-config` to update your local emulator to use the latest variables.\n\n`cd` back to the project root directory.\n\n### Local Development\n\nMy preferred setup is to have two shells open to the root directory of the project. On one, run `npm start` for the React development server. On another, run `npm run emulate` to start the Firebase function emulators.\n\nYou may access the [Firebase cloud console](https://console.firebase.google.com/) to play with the database.\n\n**Please remember**: since the Firebase Firestore emulator is not well-supported yet, the local environment directly uses the production Cloud Firestore.\n\nTo deploy the build, simply run\n\n```firebase deploy```\n\n## Code Structure\n\nThe website frontend's source code is in `src`, and the Firebase cloud functions code is available in `functions`. `public` provides some static files for React to build the website with.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexander-ding%2Fcommontime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexander-ding%2Fcommontime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexander-ding%2Fcommontime/lists"}