Skip to content

Latest commit

 

History

History
55 lines (33 loc) · 2.16 KB

Spec.md

File metadata and controls

55 lines (33 loc) · 2.16 KB

📄 Specification

⏮ Context

Grapevine is an anonymous community app for the workplace. Our vision is to make honest, helpful and fun conversations possible.

✅ Requirements

Design and implement a chat messenger. This can be an iOS, Android or web app. This will be a "user" or external-facing app, used by folks to have personal conversations with each other.

In Scope Features

  • Send and receive messages

Out of Scope Features

We're not expecting these (really), but if you have spare time and want to try them anyway, feel free.

  • Reactions
    • Emoji reactions on messages
  • Updating and deleting messages
    • The main focus is to enable personal communications! Just focus on the C/R of CRUD.

Implementation

We use some of the following tools / technologies, feel free to add onto them but we'll definitely need you to be working with:

  • Web App - TypeScript / React.js / Next.js
  • Mobile Apps - React Native
  • Backend - Django with DRF for REST APIs
  • Caching - Redis
  • Persistent DB - PostgreSQL

🚹 User Stories

  • A user, should be able to initiate conversations with another user based on the username
  • A user, should be able to have conversations with multiple users
  • A history of all messages should be stored for reference by the user later

📦 Deliverables

Clone this repo, and create a private repo of your own and grant access to @codingcoffee. Start adding commits to your repository.

Feel free to Google / use 3rd party libraries for your project.

  • As a backend engineer

    • You only need to focus on writing the backend for this application, and can ignore the frontend part. Though your documentation must contain how you expect the frontend to be calling /interfacting with your APIs.
  • As a frontend engineer / react native engineer

    • You need to be focusing only on the UI and UX aspect of the problem.
    • Feel free to use Mockoon or something similar to create mock APIs which you expect from the backend.

Please include documentation on how to build and execute your project.