-
Notifications
You must be signed in to change notification settings - Fork 3
Home
This was a team project for a Software Engineering class. We wanted to build a social networking application with a slight twist of our own version and after conducting much research about the open-source tools and resources available online, we decided to build the application in Ruby. Ruby is a very powerful language and has lots of Gems that can be used to help save time in building a full-stack application; with just a few lines of code a full-fetched application can be developed. Hence the reason why we chose Ruby was because of it’s extensive collection of Gems and the fact that it heavily emphasizes to adhere to and adopt the its software engineering principles.
Teal is a web application that was built with Ruby on Rails, PostgreSQL, HTML, CSS, Bootstrap, Javascript and jQuery. We followed an online tutorial to get started with using the right Gems and scaffolding the basic application structure. The application functions as a social connector and its primary purpose is to facilitate the connection of users who have some certain needs with other users who can fulfil those needs. Hence, users can search for, connect with, and make their requests to other users who may not be within close geographic proximity. The application has some features integrated from popular social networking sites such as Facebook and Twitter. However, the application also has certain features that are unique to it.
- When you go onto the site, you will see a sign up form. After signing up, you will be taken to the update profile form that has to be completed before you can go onto the home page.
- On the home page, you can easily find a place to write a post. You can also attach a picture to your normal post using the button next to “Create Event” while the “Create Event” button will take you to a specific page to name the event as well as set the time before posting it.
- Below the “Make a Post” field, you can see all your activities as well as activities of people whom you follow.
- On the left of the home page, you can see your profile picture as well as your information. We chose to make the information always visible as we wanted to remind the user to always keep their information updated.
- Below your information, you can see three buttons: “Friends”, “Followers” and “Following”. You can click on the buttons to see your lists of friends, followers and people whom you follow. You can also see a small drop down button next to the profile picture. When you click on this, you will see three other buttons in the drop down menu: “Edit Profile”, “Change password”, and “Delete Account”.
- Next on the left column is the search form. You can choose to search people on one certain category out of the four options. If you leave it blank and click go, it will show all users on the page.
- On the search results page (image above), the users are displayed. You can add different people as friends using the “Add” button.
- When you click on one of the users’ names, the application will take you to view that user’s profile page and also, you will automatically follow that person. Whenever you view a user’s profile page, that user will get a notification that you viewed their profile.
After conducting much user testing, we realized there are some significant issues that need to be fixed in the application. We posted all the issues on github in the project repository and we hope to fix those issues in the future. Below is a list of all the issues we have found so far:
- The application is not aware when an account is removed from the database.
- Individual search fields must be independently submitted, thus preventing combination searches. This should be improved to allow such functionality. The fields should also be relocated so that a user does not have to scroll to access them.
- The notification can disappear with issues related to the users' names. We do not know exactly what the problem is. But it exists and has not been fixed yet.
- When a liked post appears on the newsfeed, HTML code is added to the post.
- Whenever a user is followed a popup alert should be shown to the user, similar to when a user signs out. This is not implemented in the current version of the application.
- The read notifications do not get recorded in the database as read.
- A user can edit the birth-date input field to be any date in the future and it will be accepted.
- The activity feed currently only displays activity from profiles the user is following, but does not display activity from profiles the user is friends with.
- The comments, likes, and comment counts are not updated in real time for users other than the one who commented or liked.