Find Jobs
Hire Freelancers

Android Chat/Social Networking App(repost)

$2-30 USD / hour

Cancelled
Posted over 11 years ago

$2-30 USD / hour

**Project Overview** This project is for a chat app for android. The API and server portion of this app are both completed. The worker will follow the design guidelines and API documentation attached to this project. The app features realtime chatrooms, realtime private messaging, user profiles, image uploading from the app, as well as many more features, described throughout the details below. 1. App must be compatible with all android phones running 2.1 and above. 2. App requires both landscape and portrait versions of each screen (already designed) 3. App must be written in native android java. No using third party development SDKs (appcelerator titanium, corona mobile, etc) 4. When the app is not in the foreground, the app must continue polling for new private messages. If new private messages are received, it will display a notification in the standard android notification drawer. If the user clicks on that notification, it will bring the user directly to the private message inbox screen. 5. If the user exits the app, the app must still continue polling for new private messages according to their settings (every 15 minutes is the default) ## Deliverables **FULL APP DOCUMENTATION IS AVAILABLE IN THE ATTACHED PROJECT FILE. WHEN MAKING YOUR BID, PLEASE INCLUDE THE TOTAL NUMBER OF HOURS AS WELL AS DAYS YOU EXPECT THE PROJECT WILL TAKE.** **Project Overview** This project is for a chat app for android. The API and server portion of this app are both completed. The worker will follow the design guidelines and API documentation attached to this project. The app features realtime chatrooms, realtime private messaging, user profiles, image uploading from the app, as well as many more features, described throughout the details below. 1. App must be compatible with all android phones running 2.1 and above. 2. App requires both landscape and portrait versions of each screen (already designed) 3. App must be written in native android java. No using third party development SDKs (appcelerator titanium, corona mobile, etc) 4. When the app is not in the foreground, the app must continue polling for new private messages. If new private messages are received, it will display a notification in the standard android notification drawer. If the user clicks on that notification, it will bring the user directly to the private message inbox screen. 5. If the user exits the app, the app must still continue polling for new private messages according to their settings (every 15 minutes is the default) **API Overview** The API portion and server for this app are both complete and will not be worked on by the chosen worker of this project. You will need to follow the API documentation attached to this project for the full list of commands, values, and description of what each command does. I wrote the API myself, so I of course am free to help walk you through using it, answer any questions, or even improve upon it if needed. 1. All commands are sent via POST calls to my server. 2. All data is returned in JSON format 3. The app will also poll the API every 2 seconds (when the app is open) for new private messages and chatroom messages (if the user is logged into a chatroom) **Design Overview** The design for the app is also completed. You must follow the attached design files. 1. The app will have a static toolbar. This must not transition from screen to screen and appear static the entire time the app is open. 2. Many screens will contain several photos and a lot of data. All of these screens must scroll very smoothly 3. Screen to screen transitions must be very fast 4. If the user receives a private message while the app is open, the toolbar will show an alert on the private message button, as well as make a sound and vibrate (according to the user's options) 5. The toolbar will also have a drop down menu when the setting button is clicked (far right) This drop down will contain links to all sections of the app for quick access. **Advertisements** Every screen will contain an ad on it. These ads are provided by the millennial media SDK. Each ad will refresh when the screen is opened, as well as every 30 seconds if the user remains on that screen for that long. The ads are NOT shown in the design files. The location of each ad will be described in the screen overview below. The documentation millennial media SDK can be found here: <[login to view URL]> The download can be found here: <[login to view URL]> . The user values that are sent with each ad request are returned as a JSON object when the user successfully logs in. **Communication** I would prefer the worker use an instant messenger for quick communication, I typically use skype and gchat, but am willing to use whatever the worker wants. I am available for answering questions most of the day and am VERY happy to answer them quickly so work can progress easily for both of us. **Future Projects** I would prefer to work with someone who can also develop iPhone applications. I plan on bring this app to the iOS platform as well and would like to work with the same person. I also have many ideas for improving upon this app and would like the worker to be available for improvements. **Screen Overview** **Login** Design Folder: login Advertisement Location: No Advertisement Shown Description: The login screen is the first screen the user will see. It is where they enter their username and password, register a new account, or use the forgot password system. Required Functions: 1. Has option for saving username and password 2. Has option for logging in automatically when the app is opened 3. Has buttons to get to the register and forgot password screens 4. The "By logging in you agree to our terms of use" text will open a browser to the terms of use page **Register** Design Folder: register Advertisement Location: No Advertisement Shown Description: Screen is used for registering a new account for the app Required Functions: 1. The API will send back errors, these will need to be displayed easily for the user to see 2. After a successful registration, the app will automatically log the user in **Forgot Password** Design Folder: forgotpassword Advertisement Location: No Advertisement Shown Description: Screen is used for requesting a password reset code, or setting a new password using a reset code Required Functions: 1. After successful password reset, the app will save the new password on the user's app. 2. After successful password reset, app will automatically log user in **Home** Design Folder: homeScreen Advertisement Location: Bottom of screen Description: Screen displays several buttons for navigating the app, as well as basic information. Required Functions: 1. If the user has unread messages, the number of unread messages will be displayed on top of the messaging button. 2. On top of the online user's button, 3 random user's photos will be displayed as well as the number of online users 3. All of this information is returned to the app via the openHomescreen API call **Messaging Inbox** Design Folder: messagingInbox Advertisement Location: Directly under toolbar Description: This displays a list of all of the user's the user has sent or received private messages from. Required Functions: 1. Displays the last message received or sent 2. Displays an arrow indicating if the message was sent or received 3. Clicking on a user's photo will open their profile 4. Clicking on the X on the right will delete the thread of messages 5. Clicking anywhere else in a message box will open the message thread between that user **Message Thread** Design Folder: openMessageThread Advertisement Location: Above text entry box Description: This screen is where a user can send and view private messages with another user Required Functions: 1. Clicking on user's photo will open their profile 2. Entering a message and pressing the arrow or pressing enter on the keyboard will send a message to another user 3. Clicking on the paper clip will bring up a list of the user's photos for sending a picture message. If the user clicks on a photo, it will send the picture as a message **Friends List** Design Folder: friendsList Advertisement Location: Directly under toolbar Description: Shows a list of the user's confirmed friends Required Functions: 1. Clicking anywhere on a friend box will bring up the user's profile 2. The Green/Red indicator will show if the friend is online or offline **Chatroom List** Design Folder: chatroomList Advertisement Location: Directly under toolbar Description: Shows a list of available chatrooms for joining Required Functions: 1. Clicking anywhere on a chatroom will join the chatroom 2. Clicking on Regular or User Created will re-request the list of chatrooms while sending the appropriate call to the API (1 or 2, depending on the user's selection 3. The Create Room button will open dialog to create a chatroom **Open Chatroom** Design Folder: openChatroom Advertisement Location: Above text entry box Description: Realtime chatroom Required Functions: 1. Clicking anywhere on a message box will bring up the user's profile 2. Entering a message and pushing the arrow or enter on the keyboard will send a message to the chatroom 3. Clicking on the user count on the top right will open the user list **Edit Profile** Design Folder: profileEditor Advertisement Location: Bottom of screen Description: Screen for editing the user's profile Required Functions: 1. If the user clicks on the change button, it will bring up a full list of their uploaded photos. 2. If a user clicks on a picture, it will change their profile image **Edit Photos** Design Folder: photosEditor Advertisement Location: Bottom of screen Description: This screen allows the user to edit, delete, and upload their photos Required Functions: 1. Clicking on the settings button on a photo will bring up a screen to change the image's privacy type. 2. Clicking on the X will delete the photo 3. Clicking on Public, Friends, and Private will change the list of images show 4. Upload new photo will bring up the user's on device photos. From here, the user can choose to upload a new photo **User Search Options** Design Folder: None Advertisement Location: Bottom of screen Description: This screen allows the user to search for other users using a variety of filters. Required Functions: 1. Allows the user to select from Male, Female, Online, Only with Photos 2. Allows the user to search by distance from the user (only if the searching user has entered their location in their profile 3. Also allows the user to search by username **User Search Results** Design Folder: userSearchResults Advertisement Location: Bottom of screen Description: Shows the results of a user search Required Functions: 1. Clicking anywhere on a search result box will open the user's profile **Online Users** Design Folder: None Advertisement Location: Directly under toolbar Description: Shows a random selection of online users Required Functions: 1. Allows the user to filter between Male, Female, and Both 2. Clicking on a user's photo will bring up their profile **Options** Design Folder: options Advertisement Location: No Advertisement Shown Description: Shows the available options for the app Required Functions: 1. Will use the API to grab the picture message privacy setting 2. Allows the user to change the font size for private messages and chatrooms 3. Not shown in Design: Messaging notification must also have a sound option 4. Not shown in Design: Background polling time (15 min default) **Ignore List** Design Folder: ignoreList Advertisement Location: Directly under toolbar Description: Shows a list of the user's someone has ignored Required Functions: 1. Displays an X next to each user box. If a user clicks on the X it will removeIgnore 2. Clicking anywhere else on an ignore box will open the user's profile **View Profile** Design Folder: openProfile Advertisement Location: Directly under user's main photo Description: Shows another user's profile and options for interacting with that user Required Functions: 1. Clicking on the message button will open a private message thread with the user 2. Clicking on the Friends button will either Send a friends request, Accept a pending friends request, or remove the friend, depending on the current status of the friend. The icon will also change from a + or X depending on the status 3. Refresh will refresh the user's profile 4. Report will bring up a list of the user's photos for reporting them 5. ignore will toggle adding and removing an ignore. The icon will change between + and X depending on the current status 6. Clicking on the show all button will show a list of the user's photos 7. Clicking on any photo will bring up that photo in full screen **View Other User's Available Photos** Design Folder: openPhotoList Advertisement Location: Bottom of screen Description: Shows a list of a user's photo, organized in blocks with a shield icon on each photo. The shield icon shown in the design is to big and must be smaller on each photo. Required Functions: 1. Clicking on the shield icon will report the photo for breaking the terms of user 2. Clicking anywhere else on a photo will bring up the photo in full screen mode **Full Screen Photo** Design Folder: None Advertisement Location: No Advertisement Shown Description: Shows a photo in full screen. Hides the toolbar. Required Functions: 1. Will have a shield icon in the lower right corner, if clicked, it will report the photo 2. Allows the user to pinch and zoom and double tap to zoom on the photo (standard mobile photo controls)
Project ID: 2787086

About the project

Remote project
Active 11 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of UNITED STATES
Centerville, United States
5.0
14
Member since Jul 6, 2002

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.