{"id":27370873,"url":"https://github.com/tmillich/cornflakes","last_synced_at":"2026-04-11T06:03:12.612Z","repository":{"id":251602188,"uuid":"289334304","full_name":"tmillich/cornflakes","owner":"tmillich","description":"Webserver with Firebase, Angular and Node.js backend","archived":false,"fork":false,"pushed_at":"2020-08-22T01:14:35.000Z","size":11839,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-03T19:05:38.426Z","etag":null,"topics":["angular","cornflakes","dotenv","firebase","node-js"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/tmillich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2020-08-21T18:05:36.000Z","updated_at":"2020-08-22T01:10:15.000Z","dependencies_parsed_at":"2024-08-04T11:57:23.108Z","dependency_job_id":"42262130-8d0e-44c1-bb7b-31ec632858d5","html_url":"https://github.com/tmillich/cornflakes","commit_stats":null,"previous_names":["tmillich/cornflakes"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tmillich/cornflakes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmillich%2Fcornflakes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmillich%2Fcornflakes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmillich%2Fcornflakes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmillich%2Fcornflakes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmillich","download_url":"https://codeload.github.com/tmillich/cornflakes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmillich%2Fcornflakes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31670383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["angular","cornflakes","dotenv","firebase","node-js"],"created_at":"2025-04-13T09:19:38.426Z","updated_at":"2026-04-11T06:03:12.593Z","avatar_url":"https://github.com/tmillich.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cornflakes List\n\n![Cornflakes Node.js CI](https://github.com/tmillich/cornflakes/workflows/Cornflakes%20Node.js%20CI/badge.svg)\n\n\nThis project is an attempt to create a 3-Tier webserver with **Firebase**, **Angular 8** and a simple **node.js backend server**.\n\n\nhttps://cornflake.herokuapp.com/\n## Architecture\nThe architecture looks as follows:\n\n![Alt text](.resources/architecture.png?raw=true \"Software-Architecture\")\n\nI also tried to use no Framework for backend (only for firebase operations).\n\n## Technical Achievements\n- **Firebase**\n- **Angular Framework:**\n- **Backend: Written in Node.JS**\n\t- InputValidation: CornflakeInput will be checked in the Backend as well\n\t- Database Communication\n\t- Using a EventEmitter\n\t- Return multiple status codes to secify the response to the user.\n\t- **Used no Framework for Backend** (only for Firebase operations)\n- **Swagger:**\n\t- Show all the HTTPRequest which can be send to the backend (https://cornflake.herokuapp.com/swagger)\n- **Normal Login**\n    - Integrate Email and password login for signed up User\n    - Use tokens to validate User\n- **Google Login**\n\n## Getting Started\n\n1. First of all creat an `.env`-File in root. \n\n    You need to set the following environement variables:\n    ```yml\n    FIREBASE_PROJECT_ID=\"\"\n    FIREBASE_DATABASE_URL=\"\"\n    FIREBASE_STORAGE_BUCKET=\"\"\n    \n    FIREBASE_ADMIN_TYPE=\"\"\n    FIREBASE_ADMIN_PRIVATE_KEY_ID=\"\"\n    FIREBASE_ADMIN_PRIVATE_KEY=\"\"\n    FIREBASE_CLIENT_EMAIL=\"\"\n    FIREBASE_CLIENT_ID=\"\"\n    FIREBASE_CLIENT_X509_CERT_URL=\"\"\n    \n    FIREBASE_APP_API_KEY=\"\"\n    FIREBASE_APP_AUTH_DOMAIN=\"\"\n    FIREBASE_APP_MESSAGING_SENDER_ID=\"\"\n    FIREBASE_APP_ID=\"\"\n    FIREBASE_APP_MEASUREMENT_ID=\"\"\n    ```\n2.  Build all different compontens of your Project by executing in root:\n    ```bash\n    npm run postbuild\n    ```\n3.  Start the application (Per default it started on Port 8080)\n    ```bash\n    npm run start\n    ```\n    \n## License\n\nThis project is under MIT Licensing terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmillich%2Fcornflakes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmillich%2Fcornflakes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmillich%2Fcornflakes/lists"}