Position: Full-Stack Developer For Realtime Chat Interface (Project Basis)
Company: Podium
Experience required: 3y
Category: JavaScript
English level: intermediate
Published: 2023-06-01T00:00:00+03:00

**Job Description:**

This project aims to build a real time chat interface with the API provided. 

The chat interface will empower operators with the capability to monitor all text conversations, choose the dialogue they wish to respond to, indicate the conversations they’ve accessed, open direct media such as videos, images, or audio clips sent by users, and record text-based customer notes pertinent to each discussion. The operator should also be able to send direct media to recipients. 

The design of the interface will prioritize user-friendliness and simplicity, featuring tools such as conversation selection and direct media viewing for optimal user experience. 

The development of the interface will primarily utilize Python and React, although we are open to other technology suggestions if they align with the project’s needs.

Thorough testing will be carried out on the interface to confirm that it is free of bugs and satisfies all necessary functional criteria, ensuring a reliable and high-quality user experience.


**Responsibilities:**
1. Develop the web-based chatting interface using the API provided.
2. Utilize Python as the primary programming language for back-end development.
3. Implement real-time messaging functionalities, typing notifications, and other features.
4. Use the given React template to develop the front-end of the interface which will be
integrated with the back-end.
5. Work with MongoDB for storing customer notes and handling data archiving.
6. Follow secure coding practices to ensure the privacy and security of the interface.
7. Add a login system to the interface to ensure that only authorized users can access it.


**Qualifications:**
1. Experience with Python and the major backend frameworks such as Django, Flask, or
FastAPI.
2. Experience with Frontend frameworks such as React. You are not expected to create
your own frontend from scratch, a template will be provided.
3. Experience with MongoDB or other database technologies.
4. Must be able to work with a team and communicate effectively.


**Nice to Have:**
1. Experience with real-time messaging platforms.
2. Experience with websockets.
3. Previous experience with fullstack development.

The project necessitates completion within a total of 160 hours. We anticipate the addition of more modules to the initial interface in subsequent stages. You'll be functioning as an independent contractor, collaborating with us on a per milestone basis. We anticipate that you'll work autonomously and provide an estimated hourly plan for each respective milestone.