Skip to content

Latest commit

 

History

History
81 lines (57 loc) · 4.86 KB

README.md

File metadata and controls

81 lines (57 loc) · 4.86 KB

Slackover

Slackover is a live chat client, with notification integration. Think Slack crossed with Pushover.

What's Already In The Box?

What we've written so far is a very quick proof of concept chat application (written in React and powered by Firebase). It includes:

What's Missing & The Challenge!

The challenge for today is to help us build upon this proof of concept, in any sensible way. So whats missing? Everything!.

Some ideas for what you could do:

  • Making the web app more useable, presentable and eye catching.
  • Starting a new app from scratch such as a desktop app using Electron
  • Adding features like Channels, user profiles, photo uploads
  • Create a cloud function integration to integrate a notification service. Some examples of what you might want to send a message to:
  • Add Giphy support to send gifs to other users
  • Add location support to send locations with a map preview to other users
  • Create a new way of sending messages to the chat - for example an Alexa Skill
  • Add some automated tests, using Jest, React testing library or Cypress
  • Improve the code quality - maybe integrate tools such as CodeClimate
  • Setup a CI / CD pipline

Really, it's up to you what you would like to do to help improve the project.

Where do I start?

  1. Fork this project into your own GitHub repo.
  2. Register for your own free Firebase account and Register a web app (dont forget to copy your keys).
  3. Replace the appropriate keys for your firebase account in src/api/index.js.
  4. (Optional) - If you want to work on the backend to add a notification service, follow the instructions to setup the Firebase CLI and login.
  5. Enable the Firebase authentication module using email and password.
  6. Create a Firebase firestore called messages. To do this you can add a test message using the data properties as shown in src/store/store.js.
  7. Make sure you have installed node 12 LTS and yarn.
  8. Open the project folder, and type yarn && yarn start. Test you can register and login.
  9. 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.
  10. Test you can send and receive messages.
  11. Get cracking with your awesome new feature!
  12. 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!

Helpful Resources


This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.