Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specification for zuri desktop app #59

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions blog/2019-05-29-long-blog-post.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
slug: long-blog-post
title: Long Blog Post
authors: endi
tags: [hello, docusaurus]
title: Zuri Token
authors: dav
tags: [hello, Zuri]
---

This will be used for workflow documentation
## Zuri Token Introduction

2 changes: 1 addition & 1 deletion blog/authors.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
endi:
dav:
name: Endilie Yacop Sucipto
title: Maintainer of Docusaurus
url: https://github.com/endiliey
Expand Down
20 changes: 20 additions & 0 deletions docs/Plugins/CreateAccount.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# How To Create an Account on the Zurichat App

To use the zurichat mobile app you need to create an account, this can be done by downloading the App from PlayStore or App Store, then follow the listed steps

1. Click on 'Sign Up' on launch of the app
2. Enter your First Name, Last Name, Email Address, Password, Confirm your password by putting in the password again
3. Check the box to agree to the terms and conditions
4. Click on Create Account
5. An OTP (One-Time-Password) will be sent to your email
6. Input the OTP on the password page
7. Account is created successfully
8. Enter in your email address and password to "Sign In" to the app.

```
OR
```
1. Click on "Sign Up with Google"
2. Enter your Google Email Address
3. Enter your password.

Empty file added docs/eunice.md
Empty file.
24 changes: 12 additions & 12 deletions docs/sidebar.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#Sidebar Documentation
Documentation of the protocols for sidebar
# Documentation of the protocols for sidebar

#### Adding plugin to the Sidebar
### Adding plugin to the Sidebar
Example url:
> https://example.zuri.chat/sidebar
###### Sample Response
Expand All @@ -19,7 +18,7 @@ Example url:
```


##### Plugin categories
#### Plugin categories
```
"games"
"utility"
Expand All @@ -28,13 +27,14 @@ Example url:
"sales"
"productivity"
```
#####Rules for grouping plugins
#### Rules for grouping plugins
1. If your plugin is a single room that should show up on the top level, don't include the `category` key in your data.
2. If your plugin is a single room that should show up under a `category`, set the `category` to any of the category options above, then set `show_group` to `false`.
If your plugin need it's own group, set the `category` to any the category options above, then set `show_group` to `true` , then make sure you set a `group_name`

> NB: If plugin is a single room don't add `category` to sidebar payload
######Sample Response
>
#### Sample Response
```json
{
"name": "Plugin",
Expand All @@ -48,7 +48,7 @@ If your plugin need it's own group, set the `category` to any the category optio
}
```

#### Update Sidebar Realtime
### Update Sidebar Realtime

`Subscribe to channel for sidebar update`
> currentworkspace_memberid_sidebar
Expand All @@ -73,7 +73,7 @@ Payload:
}
```

####Send Notification
### Send Notification
Payload:
```json
{
Expand All @@ -89,10 +89,10 @@ Payload:
"public_rooms": [],
"joined_rooms": [
{
room_name: "Room name",
room_url: "/room-url"
room_image: "https://image.com"
unread: 10
"room_name": "Room name",
"room_url": "/room-url"
"room_image": "https://image.com"
"unread": 10
}
]
}
Expand Down
239 changes: 239 additions & 0 deletions docs/zuri_app(desktop).md
Original file line number Diff line number Diff line change
@@ -0,0 +1,239 @@
# Zuri Chat App (Desktop)
## `Overview`
ZuriChat is a collaboration hub that brings the right people and tools together to get work done. From Fortune 100 companies to corner markets, millions of people around the world use ZuriChat to connect their teams, unify their systems, and drive their business forward.

## `Goals`
- Provide a platform for team colaboration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check the spelling of collaboration

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Remove from the headings
  2. The goals should be the company goals, reach out to the vision and mission team for the right company goals.
  3. Double-check your spelling and sentence structure with Grammarly. e.g their not thier.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what should I remove?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

- Make colaboration easy and seamless
- Make modern workplace fun
- A user friendly app for colaboration

## `Requirements`
- DM,Chats and Channels should be working
- All plugins should be functional
- Users should be able to create and join workspaces
- Users should be able to add and remove plugins seamlessly

## `Open Questions`
- How do we manage system updates across teams
- How can the app support multiple languages and regions
- How the we serve companies who aren't tech savy

## `Approach`
- We will work with team leads of other departments to ensure we update with thier works and vice versa?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The spelling of their

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use a present continuous sentence like "we are" or 'we are in the process of'. Using " we will" feel like you haven't started working.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

- We will build flutter dektop app to support multiple languages and time zones?
- We will build a very user friendly app to carter for non tech savy sompanies?

## `Measuring Impact`
- We will periodically send out surveys to our customers to rate our services, evaluate thier satisfaction and identify thier problems while using the app
- We will work with the support team, getting feedback from the customers

## `Security and Privacy`
- Users wil be asked to provide a password during registerion, which wil be used for logins also
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling check of registration

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

- The app will send an OTP to the user email for confirmation, upon confirmation users can use the app with the password
- Users are advice to keep thier password safe and itb should be difficult to predict
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling check here also

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doe

- Users are advice to change thier passwords periodically
- To protect user data, we will include encryptions and firewalls

## `Milestones`
The alpha version of the app will be realeased by 15th of November 2021

## `Features`
- Onboarding
- ### `Authentication`
- Signup
- Login
- Logout
- Confirm Password
- Verify Token
- Social Login
- Reset/change password
- ### `Organization`
- Create/delete a workspace
- Display a list of orgainization
- Get organization by url
- Get all organizations
- Update organizations
- Add/remove a plugin from an organozation
- Get all plugins from an orgainization
- Add/remove users from a workspace
- Create/delete channels
- Make a channel private/public
- Reactivate/Deactivate users in an organization
- ###` Plugins`
- Channels
- Direct Messages
- Music Plugin
- Chess plugins
- Todo plugins
- ### `Market Place`
- Get all plugins from marketplace
- Get plugins details
- Delete yoyr plugin from marketplace

- ### `Blog`
- Create a blog post
- Read a blog post
- Read all blog posts
- Delete a blog post
- Update a blog post
- Comment on a blog post
- Read all comments on a post
- Like/unlike a blog post
- Subscribe to zuri mail

- ### `Contact Us`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use our social media platforms contacting us






## `Technicalities`
## `Sign Up`
**Creating an account can be done in two ways**

### **Email and password**
- The password has to be inputed twice.
- Click on the terms and conditions, if everything is okay, tick the checkbox.
- Click on `Create Account`.
- A six digit `OTP` will be sent to your email address, copy and paste the code.
- You will be redirected to the [Sign in screen](#sign-in)
### **Google** `pending`

## `Sign In`
**A registered email and password is used to access the account**
*For forgotten password:* To recover forgotten password the user is required to **;**
- Input the registered email
- A 6 digit `OTP` is sent to the registered email.
- Recieve and enter `OTP`
- Enter and confirm new password
- Navigate to [sign in screen](#sign-in)
- Enter your email and new password
- You will directed to the [organization screen](#organization)


## **Organization**
It displays the list of organizations a user belong to and also the option to `add organizations,` `preferencs,` `help.`
**Add An Organization**
This enable the user to **;**
- **Create a new organization / Create a workplace**
1. Click on your verified email.
1. Add the name of your organization.
1. Add the project name your team is working on.
1. Add the email address of team members `or` invite from contacts `or` copy and share your invite link.
*another email address can be used.*


- **Sign in to another organization or workspace. **
1. Click on your verified email
1. Enter organization `url.`
*another email address can be used.*

- **Join another organization / workspace **
1. Click on your verified email.
1. Enter organization `url.`
*another email address can be used.*

## **Preferences**
### Languages and region
- **Select language**
1. click on language
1. select the language of your choice
1. click on okay


- **Timezone**
1. the timezone is generated automatically by default
1. use the toggle button to set it manually

### **Theme**
- theme is set to dark mode by default
- on click, a pop up with options will be displayed
- after selecting mode of choice
- click on set


### **Advanced**
- Emoji Deluxe *on tap, choose your default skin tone*
- Show image previews *use the toggle button to set your preference, it's on by default*
- Open web pages in app *use the toggle button to set your preference, it's on by default*
- Display typing indictors *use the toggle button to set your preference, it's on by default*
- Allow animated image and emoji *use the toggle button to set your preference, it's on by default*
- Optimize image uploads *use the toggle button to set your preference, it's on by default*
- Reset Cache `Pending`
- Force Stop *Unsaved data may be lost.*

## **Send Feedback**
- On tap, a `compose feedback` popup is displayed
- typed in your feedback and click `okay`

## **Help Center** `Pending`
## **Privacy & Licences** `Pending`




# `Home Screen`
Select organization or join organization, this takes you to the home page
At bottom of the screen, you will find the Home screen,
[Dm screen](#dm-screen) and [You screen](#you-screen) logo. On the home screen, you will find **;**
- **Jump to:** It enables user to search
- **Threads:**
- **Unreads:**
## **Channels:**
- To add a channel, click on the add channel button.
- The user is directed to new channel screen.
- Add channel name (it must be lowercase and without space).
- Add channel description.
- use the toggle button if you want the channel to be private.
- Then click on the create button.
- This creates the new channel and adds it to the home screen.

## **DM Screen**
Send and recieve messages

## **You Screen**
The profile picture and username of the user is displayed. Click on the picture and name will take the user to the `edit profile screen`. Users can set [status,](#status) [pause notifications,](#pause-notification) [set yourself as away,](#set-yourself-as-away--active) [saved item,](#saved-item) [view profile,](#view-profile) notifications and [preferences.](#preferences)

### **Edit Profile Screen**
Users can **;**
- Edit their full name
- Display name (this is the name that will show up in zuri chat)
- What i do (your job or course track)
- Phone

### **Status**
Click on `What's your status?` takes the user to a screen **;**
- Emojis can be used
- custom status are provided
- after adding a status set it to a timed duration (i.e don't clear, clear after today)
- click on save

### **Pause Notification**
- On click the user is directed to `Do not disturb` page
- Set the desired duration and save

### **Set Yourself As Away / Active**
Tap on it to change

### **Saved Item**
- On click, the user is directed to another page.
- All files and messages saved will be displayed.

### **View Profile**
- On click, the user is directed to a new screen
- The profile picture and username of user is displayed
- Message (send a message to yourself, create a to-do-list)
- [Edit Profile](#edit-profile)
- What I do i.e profession, course track
- Status (what you are up to currently). You can edit it
- Mobile Number
- Email Address
- Notification `set the sound, general settings`
- [Preferences](#preferences)