{"id":19611322,"url":"https://github.com/komodohq/slackover-app","last_synced_at":"2025-06-26T10:32:34.306Z","repository":{"id":81998025,"uuid":"241139217","full_name":"KomodoHQ/slackover-app","owner":"KomodoHQ","description":"Slackover is a live chat client, with notification integration. Think Slack crossed with Pushover. This is a coding challenge created by Komodo Digital for careers events.","archived":false,"fork":false,"pushed_at":"2020-03-02T16:54:41.000Z","size":509,"stargazers_count":1,"open_issues_count":0,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-27T22:33:19.818Z","etag":null,"topics":["firebase","firebase-auth","firebase-realtime-database","javascript","react","reactjs"],"latest_commit_sha":null,"homepage":"https://www.komododigital.co.uk/careers","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/KomodoHQ.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":"2020-02-17T15:18:04.000Z","updated_at":"2020-02-27T16:42:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"ceb908a1-8d9c-4133-939f-686721f05c6d","html_url":"https://github.com/KomodoHQ/slackover-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KomodoHQ/slackover-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KomodoHQ%2Fslackover-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KomodoHQ%2Fslackover-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KomodoHQ%2Fslackover-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KomodoHQ%2Fslackover-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KomodoHQ","download_url":"https://codeload.github.com/KomodoHQ/slackover-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KomodoHQ%2Fslackover-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262048016,"owners_count":23250472,"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":["firebase","firebase-auth","firebase-realtime-database","javascript","react","reactjs"],"created_at":"2024-11-11T10:37:59.234Z","updated_at":"2025-06-26T10:32:34.286Z","avatar_url":"https://github.com/KomodoHQ.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slackover \n\nSlackover is a live chat client, with notification integration. Think [Slack](https://slack.com/intl/en-gb/) crossed with [Pushover](https://pushover.net/).\n\n## What's Already In The Box?\n\nWhat we've written so far is a very quick proof of concept chat application (written in [React](https://reactjs.org/) and powered by [Firebase](https://firebase.google.com/)). It includes:\n\n - Authentication via email and password, using [Firebase Authentication](https://firebase.google.com/docs/auth) and [Firebase React Web UI](https://github.com/firebase/firebaseui-web-react)\n - Sending and Receiving messages using [Firebase Firestore](https://firebase.google.com/docs/firestore/)\n - A cloud function integration point, powered by [Firebase Functions](https://firebase.google.com/docs/functions) to be able to integrate with third parties such as Pushover or Twilio - which automatically parses commands entered into the chat panel.\n\n## What's Missing \u0026 The Challenge!\n\nThe challenge for today is to help us build upon this proof of concept, in any sensible way. So whats missing? **Everything!**. \n\nSome ideas for what you could do:\n\n - Making the web app more useable, presentable and eye catching.\n - Starting a new app from scratch such as a desktop app using [Electron](https://www.electronjs.org/)\n - Adding features like Channels, user profiles, photo uploads\n - Create a cloud function integration to integrate a notification service. Some examples of what you might want to send a message to:\n   - Email (maybe integrate a SMTP mailer service like [Mailgun](https://www.mailgun.com/))\n   - SMS (something like [Twilio](https://www.twilio.com/)\n   - Push Notifications (how about [Pushover](https://pushover.net/))\n   - Twitter ([check out their API](https://developer.twitter.com/en/docs])\n   - Slack ([check out their API](https://api.slack.com/))\n - Add [Giphy support](https://developers.giphy.com/) to send gifs to other users\n - Add [location support](https://developers.google.com/maps/documentation) to send locations with a map preview to other users\n - Create a new way of sending messages to the chat - for example an [Alexa Skill](https://developer.amazon.com/en-GB/docs/alexa/ask-overviews/build-skills-with-the-alexa-skills-kit.html)\n - Add some automated tests, using [Jest](https://jestjs.io/), [React testing library](https://github.com/testing-library/react-testing-library) or [Cypress](https://www.cypress.io/)\n - Improve the code quality - maybe integrate tools such as [CodeClimate](https://codeclimate.com/)\n - Setup a CI / CD pipline\n\nReally, it's up to you what you would like to do to help improve the project. \n\n## Where do I start?\n\n1. Fork this project into your own [GitHub](https://github.com/) repo.\n2. Register for your own free [Firebase account](https://firebase.google.com/) and Register a web app (dont forget to copy your keys).\n3. Replace the appropriate keys for your firebase account in `src/api/index.js`.\n4. (Optional) - If you want to work on the backend to add a notification service, follow the instructions to setup the [Firebase CLI](https://firebase.google.com/docs/functions/get-started) and login.\n5. Enable the [Firebase authentication](https://firebase.google.com/) module using email and password.\n6. Create a [Firebase firestore](https://firebase.google.com/) called `messages`. To do this you can add a test message using the data properties as shown in `src/store/store.js`.\n7. Make sure you have installed [node 12 LTS](https://nodejs.org/en/download/) and [yarn](https://yarnpkg.com/).\n8. Open the project folder, and type `yarn \u0026\u0026 yarn start`. Test you can register and login.\n9. You will need to add a missing database index at this stage. Open the browser developer console, and follow the provided link to add the composite index.\n10. Test you can send and receive messages.\n11. Get cracking with your awesome new feature!\n12. If you get to a point where you're happy with what you've build, open a Pull Request back to us, and we can review what you've done!\n\n## Helpful Resources\n\n - [Firebase API reference](https://firebase.google.com/docs/reference)\n - [React docs](https://reactjs.org/docs/)\n\n---\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `yarn start`\n\nRuns the app in the development mode.\u003cbr /\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr /\u003e\nYou will also see any lint errors in the console.\n\n### `yarn build`\n\nBuilds the app for production to the `build` folder.\u003cbr /\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\u003cbr /\u003e\nYour app is ready to be deployed!\n\nSee the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkomodohq%2Fslackover-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkomodohq%2Fslackover-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkomodohq%2Fslackover-app/lists"}