Developers : Chen Shun & Law Sean Meng
Proposed Orbital level of achievement: Apollo 11
When you chat about different topics all the time in a large group and you want to refer back to a specific topic that has been buried under other conversation topics, it is often difficult and time-consuming to navigate. When you try to search for a topic using current features, you have to try to recall what words were used to navigate back, so why not group conversation chunks under topics that can be easily referred to?
Many people also use chat groups to plan events, but there is a lack of an integrated feature that allows for planning and tracking of events within the messaging app.
Common messaging apps are used for both work and private life and this limits the user interface to be generally unexciting. With a messaging app more dedicated towards personal usage, we can appeal to friend groups looking for a more attractive user interface.
We hope to make a more engaging messaging platform to socialise with your friends or loved ones.
-
I want to be able to categorise conversations and look up portions related to a specific topic easily.
-
I want to be able to schedule and track events as I plan them with my friends, and have a clear overview of all my events both within specific group chats and across all of them.
-
I want a novel and refreshing messaging environment with which to connect with my friends and loved ones.
Chatee is a messaging plaform designated for private life bonding between you and your loved ones.
We transform your dull chatrooms into customisable rooms where you and your friends can decorate freely, give it your own personal touch and fill it with your group identity.
Besides the normal chat features, we also include additional features like the event scheduling function and conversation tagging system for the wild conservations you are going to have with your friends!
Here's a short introduction to our app.
Our core features include:
- Tagging system - to catergorise conversation for easy lookup
- Event scheduling function - to allow users to track important dates in relevant group chats
- A gamified point system - to incentivise users to spend time bonding in group chats.
- A personalised private space for each group chat - to create an engaging chatting environment. Users can use points to purchase virtual items to decorate their common space.
Frontend User Interface (Client side):
- React Native
Backend (Server side):
- Stream
- Firebase
- Express.js
Admin | Chat | Point System | Others | Additional |
---|---|---|---|---|
Login/ Sign Up Page | Real-time Messaging | Point Calculation Logic | Event Scheduling | |
Home Page | Group Chat | Point Dashboard | ||
Profile Page | Send and Receive Media | Customisable Space Set Up | ||
Search Chat | Virtual item Shop | |||
Conversation Tagging |
Follow these steps to view our app at the current stage:
- Download the app from our github repo
- Open your command prompt
- Navigate to the directory where the app is located
- Run npm start
(Running on actual devices)
- Download the Expo Go app from the App Store/Google Play Store
- Scan the QR code shown in your command prompt
- If the project is unable to open, go to the developer tools (localhost:*)
- Switch the connection to "Tunnel" and scanning again
(Running on emulators/simulators)
- Go to the developer tools (localhost:*)
- Click on "Run on Android device/emulator" for Android emulators, or "Run on IOS simulator" for IOS simulators
Once the app is loaded, click on Sign Up to enter an email and password to sign up with.
Enter the same email/password to log into the app.
In the home page, press the Sign Out button at the bottom to sign out.
OR
You can try this alternative: link
We implemented the sign up and log in pages, ensuring that new and existing users are able to successfully log into the app.
This is the sign up page where users can enter their email and password to register for their own new account.
Users will then use their registered credentials to log into the app from the log in page.
We implemented the profile, a basic game interface, a working chat interface, and an event calendar/scheduler.
This is the settings page where users can view and edit their profile. The option to sign out is also located here.
Users are able to see the channels that they are in on this page, and can click on any of them to enter the game interface.
This is the game interface, where users are able to navigate to the leaderboard, chat, or shops using the buttons near the bottom.
Users can send messages and attachments using the built in chat interface. They are also able to reply, edit, pin and delete messages.
From this events calendar, users can get an overview of dates where they have scheduled events.
Upon clicking any of the dates, users will be able to get a closer look at the event descriptions of the events that they have scheduled for the respective dates.
As we are using free plans, we are unfortunately limited to only a maximum of 20k new sign ups and 50k log in requests per day, with a maximum cap on the size of storage. These restrictions limit the scalability of our app without payments. Furthermore, although API calls for stream are generous, we are making use of a 30 day free trial, and we are unable to make use of stream for free after this trial period. This greatly limits the ability for our app to function without subscribing to premium services.
Our app currently lacks much of the implementation of our Shop feature,which is a key part of what our app is meant to offer. We seek to fix this by Milestone 3.
Currently, there are some bugs when using our app on android that need to be fixed, to ensure compatability of our app on both platforms, IOS and Android. We seek to fix this by Milestone 3.
We have implemented test cases for our app, focussing mainly on the key features of our app, all of which are essential in realizing the Project Scope that we have set out to achieve. Namely, they are Registration and Login, Profile, Game Interface, Chat, and Events. These tests are currently conducted manually, but we potentially seek to automate some of them for Milestone 3.
Test ID | Key Feature | Purpose | Steps | Expected | Results | Test Date |
---|---|---|---|---|---|---|
1 | Registration and Login | Test that the user can sign up successfully. |
| User is able to use credentials entered in sign up page to successfully log into their account. | PASS | 27/06/2022 |
2 | Test that an unregistered user cannot log in. |
| An alert indicating "Invalid Email/Password" pops up, and user is unable to log into the app. | PASS | 27/06/2022 | |
3 | Test that a registered user can successfully log in. |
| User is able to log into app successfully with the username and password. | PASS | 27/06/2022 | |
4 | Profile | Test that the user can see their profile. |
| User is able to see their own profile on the Settings page. | PASS | 27/06/2022 |
5 | Test that the user can edit their profile. |
| User is successfully able to change their profile picture to their newly selected picture. | PASS | 27/06/2022 | |
6 | Game Interface | Test that user is able to see game interface. |
| User is able to see the game interface appear. | PASS | 27/06/2022 |
7 | Test that user is able to see the leaderboard. |
| User is able to see the leaderboard. | FAIL | 27/06/2022 | |
8 | Test that user is able to see the shop interface. |
| User is able to see the shop interface. | FAIL | 27/06/2022 | |
9 | Test that user is unable to buy item from shop with insufficient points. |
| An alert indicating "Insufficient Points" pops up, and user is unable to purchase the item. | FAIL | 27/06/2022 | |
10 | Test that user is able to buy item from shop with sufficient points. |
| Users points decrease according to the price of the item, and user successfully purchases the item. | FAIL | 27/06/2022 | |
11 | Chats | Test that user is able to see channel list. |
| User is able to see their own channel list on the Chats page. | PASS | 27/06/2022 |
12 | Test that user is able to send messages in chat. |
| User is succesfully able to use the chat to send messages. | PASS | 27/06/2022 | |
13 | Test that user is able to send attachments in chat. |
| User is successfully able to use the chat to send the image. | PASS | 27/06/2022 | |
14 | Events | Test that user is able to see their events calendar |
| User is able to see their own events calendar. | PASS | 27/06/2022 |
15 | Test that user is able to navigate to their events schedule |
| User is able to see the events schedule for their selected date. | PASS | 27/06/2022 | |
16 | Test that user is able to navigate back to the events calendar from their events schedule |
| User is successfully able to navigate back to the events calendar from the events schedule. | PASS | 27/06/2022 | |
17 | Test that user is able to add an event to their calendar |
| User is successfully able to add their new event to their events calendar. | PASS | 27/06/2022 |
By making use of Git, we have been able to track the changes in our code, when they were made, as well as who made them. Throughout the changes made between Milestone 1 and Milestone 2, Git allows us to keep track of the different version of our code. This allows us to easily revert back or check against previous versions of the code to fix it when bugs arise.
We have also made use of Git pull requests, to ensure that there bugs do not arise as a result of our concurrent modification of code. One party will be able to review modifications from the other party, before deciding which parts of the modified code can be merged safely.
Milestone 3 (25 July)
Timeline | Task |
---|---|
28/6 to 13/7 | Work on the point system logic, set up point dashboard, set up virtual item shop and customisable space |
14/7 to 15/7 | Ensure that app functions as intended on Android |
16/7 to 19/7 | Implement the tagging feature |
20/7 to 23/7 | Additional User Testing and implement additional features like voice chat, video message etc |
24/7 to 25/7 | Touch up and work on Milestone 3 submission |
Click on this link to view our project log: Milestone 2 Project Log