AndroidStudio - Chat - ROOM - DocumentationGoogleJavaStyle - Backend
The application to chat with anyone!
- Objetives
- Description/Instructions
- DomainModel
- Backend
- Screenshots
- Features
- Technologies
- Sources
- Status/ToDo
- Issues
- License
- Contact
Develop an application to chat with other people. Develop the backend to ChatDisc.
Create an application with which you can chat with another person one by one. The application must present comfortable contemporary features such as the format of the date of the messages, backup manipulation if there is no connection, login to authenticate and find other users, in addition to other features that make the use of chat comfortable.
The Domain Model
The USER has 0 or many MESSAGES, each MESSAGE has a single user. A CONVERSATION has 2 USERS, a USER has 1 or more CONVERSATIONS.
The idea is to relate the data such that whenever there is a user at least have a conversation, with another user, this is so as not to have a blank screen when you just start the session, but immediately request by ID to find another user, a Once inside the conversation it is not mandatory to send messages.
Later, if you want to search for another user, you are given the option to switch from Activity to another conversation.
You can find the backend developed specifically for this application in ChatDiscBackend.
The New Message
The Conversation
The Login
The Register
coming soon:
- Landscape Mode
- Nocture Mode.
- Update The Toolbar.
- Register With Other Account(Google, Facebook, Twitter).
For the complete Project, the following were used:
- JAVA 8
- Gradle
- Android Jetpack (Architecture Tecnologies)
- ROOM for Android
- Laravel
- PHP Storm
- multiple repositories to consume an API
The graphical interface of the application and the navigation through the Activities is this achieved.
The tests to do all the basic operations for each entity are approved.
The logic of the chat is missing, to connect the user with their messages and their conversation.
The messages do not show the user or current time.
The main chat room (MainActivity in this case) must be a conversation which calls the other related entities.
Activity doesn't accept me a way to share DB lists with all current records.
I can only instantiate the ViewModel in the MainActivity, if I try to instantiate elsewhere the app does not open.
The logcat warn a lot of task overload, that many processes are executed in few threads.
There are performance problems, if the PC was not with all other programs closed, the app may take time to start and a "interface does not respond" message appears.
Licenced by MIT License
- Created by @CharlieCondorcet
- To report bugs and feedback: CatChatSupport@charliedroid.com
- Official website to manage new Android projects: www.charliedroid.com