Server Side
1. MyServer.java
- Runs the Server code
- Used to initiate the client authentication and wait for client requests
- Populates hash_map from stored file of invited guests.
2. Client.java
- Used to start interaction with the clients
- The clients receive message from server requesting for their contact information stored in their phones
- The IP address of the client can be hard Coded or received from the pool of Mikrotik Router
3. MultiThreadedServer.java
- Handles and process’s different kinds of request from clients and server
- Message Types
- Server2Server
- attendanceList – To handle request sent from other server to update the List with the received List
- Client2Server
- initialSetup – handle message from client after initial request from server to client for user information. Authenticate user and send confirmation
- sendMessage – request from client to send message to another client. Look up in map and send the message.
- getContactinfo – handles Request for contact information messages from requester and forwards message to provider.
- replyToContact – forwards the reply from the provider to the requester.
Client Side (Android)
1. InitialisationClass.java
- Starts the application
- Defines the start-up screen
- Initiates the communication with the server and waits for authentication
- Retrieves the server IP address for future communication
- Receives the attendees list
2. NotAuthorized.java
- Handles the alert for a non-authorized attendee
3. ListScreen.java
- Displaying of attendees list
- Handles clicking functionality of an attendee’s name
- Send message
- Get contact info
- Viewing the messages and contact information already received
4. ServerService.java
- Background service to receive any packet from the server
- Displays the appropriate notification according to the message type received
- Upon clicking the notification, the user is guided to the appropriate screen
5. SendMessage.java
- Opens text box for typing the message
- Send button to send the message
- Once sent, returns the user back to attendees list screen
6. MessageReading.java
- Handles the message received inbox
- Displays the list of names of the users who has sent a message
- Upon clicking the desired name the message is displayed which is defined in readRcvdMessage.java
7. ContactRequest.java
- Handles the alert for notifying the user about a request for his/her contact info
- If user selects “Yes” then the contact info is sent else if “No” is clicked then the rejection message is sent
8. SeeContactInfo.java
- Handles the contacts received inbox
- Displays the list of names of the users who has sent their contacts
- Upon clicking the desired name the contact details is displayed which is defined in readContactInfo.java
9. NegContactRequest.java
- Handles the screen to let the user know about the rejection of his/her request for other party’s contact info
- Close button will take the user back to the attendees list screen.
Mikrotik Router
- DHCP Server enabled on WLAN to set up local network
- EOIP tunnel to bridge the two routers on either side of the internet
- Registration table retrieval