{"id":19282744,"url":"https://github.com/cuhacking/cuhacking-api","last_synced_at":"2025-04-22T01:32:11.167Z","repository":{"id":96829813,"uuid":"190112582","full_name":"cuhacking/cuHacking-api","owner":"cuhacking","description":"project: Magneton | The server application for interfacing between frontend and database.","archived":true,"fork":false,"pushed_at":"2020-08-20T16:16:16.000Z","size":591,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-02-23T22:29:10.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cuhacking.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-04T02:10:36.000Z","updated_at":"2024-10-18T19:13:02.000Z","dependencies_parsed_at":"2023-04-05T22:17:26.300Z","dependency_job_id":null,"html_url":"https://github.com/cuhacking/cuHacking-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuhacking%2FcuHacking-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuhacking%2FcuHacking-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuhacking%2FcuHacking-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuhacking%2FcuHacking-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuhacking","download_url":"https://codeload.github.com/cuhacking/cuHacking-api/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250162089,"owners_count":21385039,"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":[],"created_at":"2024-11-09T21:28:14.097Z","updated_at":"2025-04-22T01:32:11.158Z","avatar_url":"https://github.com/cuhacking.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cuHacking 2019: Application Server\nThe application server is a server application which defines the REST API endpoints and functionality with will be used for interfacing between the frontend (website and mobile apps) and the backend (database, mailing list, etc.) of the platform. Learn more at our wiki page [here](https://github.com/cuhacking/cuHacking-wiki/wiki/Application-Server).\n\n## Getting Started\nThis project uses yarn, wnich can be used to install all dependencies automatically:\n\n`yarn install`\n\nOtherwise, here is a list of all the dependencies use:\n* [Express](https://expressjs.com/)\n* [Firebase SDK](https://firebase.google.com/docs/reference/js)\n* [mailchimp-api-v3](https://www.npmjs.com/package/mailchimp-api-v3)\n* [crypto](https://nodejs.org/api/crypto.html)\n\n### Configuration\nBefore you get started, you'll have to create a file called `config.json` in your project's root, which contains all the API keys/secrets, as well as a few other settings. Copy the following into your file, and substitute the indicated information:\n\n```\n{\n    \"production\": {\n        \"firebase_url\": \"THE URL TO YOUR PROD FIREBASE DATABASE\",\n        \"firebase_key_file\": \"THE PATH TO YOUR FIREBASE AUTHENTICATION JSON FILE, RELATIVE TO THE ROOT\",\n        \"mailchimp_api_key\": \"YOUR MAILCHIMP API KEY\",\n        \"credentials\": {\n            \"username\": \"USERNAME TO DOCS\",\n            \"password\": \"PASSWORD TO DOCS\"\n        },\n        \"allowed_origin\": \"ALLOWED ORIGINS (IF CORS IS AN ISSUE)\",\n        \"api_root\": \"ROOT OF YOUR API'S DOMAIN (e.g. /api for blah.com/api)\",\n        \"port\": 1234\n    },\n    \"development\": {\n        \"firebase_url\": \"THE URL TO YOUR TEST FIREBASE DATABASE\",\n        \"firebase_key_file\": \"THE PATH TO YOUR FIREBASE AUTHENTICATION JSON FILE, RELATIVE TO THE ROOT\",\n        \"mailchimp_api_key\": \"YOUR MAILCHIMP API KEY\",\n                \"credentials\": {\n            \"username\": \"USERNAME TO DOCS\",\n            \"password\": \"PASSWORD TO DOCS\"\n        },\n        \"allowed_origin\": \"ALLOWED ORIGINS (IF CORS IS AN ISSUE)\",\n        \"api_root\": \"ROOT OF YOUR API'S DOMAIN (e.g. /api for blah.com/api)\",\n        \"port\": 1234\n    }\n}\n```\n\n## Running\nA test server can be started on port 8080 (or, if you're using a PaaS, it'll use whichever port it gets assigned) with:\n\n`yarn test`\n\nTo start for production (this tells Express to optimize for production and uses your production config settings):\n\n`yarn start`\n\nAutomated tests for the API endpoints is available under the `tests` folder. These tests are made and need to be run with [Postman](https://github.com/cuhacking/cuHacking-wiki/wiki/Postman)\n\n\n## Built with\n* [Node.js](https://nodejs.org/en/)\n* [Express](https://expressjs.com/)\n* [Firebase](https://firebase.google.com/)\n* [Mailchimp](https://mailchimp.com/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuhacking%2Fcuhacking-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuhacking%2Fcuhacking-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuhacking%2Fcuhacking-api/lists"}