Social Media Manager
Project Description
The project aims to bring convenience and easiness to users who have accounts on multiple social media platforms to manage them in a centralized application. Social Media platforms play an important role in the success of an organization in terms of marketing and communication with customers, as well as allowing people to share their ideas, feelings, or moments. However, for those who have accounts on multiple social media platforms such as Twitter, Instagram, Facebook, Tumblr or another platform might struggle with managing each social media account due to time and extra effort. Therefore, this application will solve this complexity by integrating the popular Social Media Platforms in one application and allowing users to manage easily through one solution, which is the Social Media Manager.
Project Design
Technologies will be used:
-
Spring MVC: Spring MVC is a powerful Java framework that helps in creating a web application in an easy and convenient way. Therefore, this framework will be used in this project to create the structure and the functionality of the application.
-
Bootstrap: Bootstrap is a powerful open-source toolkit that allows developers to create responsive interfaces with HTML, CSS, and JavaScript. It will be used in this project in the front-end. It adds an advantage to the application which is allowing the application to be responsive when minimizing the page, or used in phone web-browser. That increases the usability of the application as well as making it easy and interactive for users.
-
MySQL Database MySQL database is a reliable and powerful database that will allow the application to store user information such as usernames, passwords, posts, and logs. Therefore, MySQL database will be used in this application to ensure the persistency and reusability of the application.
-
Object Relational Mapping (ORM): The Object Relational Mapping is a technique that allows to convert and manage database data from an object-oriented programming. It allows the developer to easily store data and write queries and interact with the database using the programming language. Therefore, ORM will be used in this project to interact with the database using Java programming language.
-
Social Media APIs: Social Media Platforms provide APIs to allow developers to integrate their application with other services. Those APIs allow developers to pull information and verify users using the services that Social Media Application provide. Therefore, the APIs will be used in this project to authenticate users’ accounts, create posts, view timelines and to call other services that could help users to manage their accounts. Those APIs provide different HTTP methods such as POST and GET allowing the application to interact with the Social Media Application.
The Project’s use cases
-
Create New Account: Users who do not have an account on the website will be able to use this use case to create a new account so they can use the website’s services.
-
Log in to User Account: When the user first visits the website, the system will prompt the user to login to the master user account that controls other social media accounts. This use case will include another use case, which is Create New Account as an optional use case to make sure that users who have not registered in the website are able to create accounts through this use case.
-
Create Post: This use case is an important use case for this project because it is a big part of the idea of creating this project. Users will be able to use a text field to type their post and an image uploader to add an image to their post. When the post is created, the user will be able to publish the post to his/her account in the favorite social media platforms such as Twitter, Facebook, and Instagram.
-
Select Social Media Platforms: This use case will allow the user to select the social media platforms where the post will be published. The Select social media platforms use case should be used before, or after the post is created by the user. The post will not be published to social media if none of the checkboxes was selected.
-
Create Social Media Account: This use case will allow the user to create an account in some of the social media platforms such as Twitter, Facebook, and Instagram using the “Social Media Manager”.
-
View My Social Media Timelines: This use case will allow the user to view his/her timeline of all selected social media platforms on the “Social Media Manager” by embedding the pages or creating pages with user timelines using social media platforms APIs.
Project Schedule:
what will you have done at each checkpoint? What will the final project look like?
-
Checkpoint 1: The features and functionalities that will be created in the first checkpoint are the followings
- User will be able to create an account
- User will be able to login to the master account on the “Social Media Manager”
- The application will be connected to the database (MySQL)
- The application will have the ORM working
- Checkpoint 2:
- The interface of the application
- User Registration (page)
- Login (page)
- Connect to Social Media Accounts (page)
- Create Post (page)
- View My Social Media Timelines (page)
- Search (page)
- The interface of the application
- Checkpoint 3:
- The application will be able to call the appropriate APIs
- The application will be able to hash users’ passwords and encrypt and decrypt their data.
- Final Checkpoint:
- The application will be able to create posts and view timelines
- Spring Security Login Integration with Database
Project Justification:
- Novelty
The project, “Social Media Manager”, will bring convenience and easiness to users who have accounts on multiple Social Media Platforms. The project is not a Social Media Platform, however, it will be a powerful tool that enables users to manage and monitor their Social Media accounts in a centralized application. It will bring many advantages to users such lower cost in terms of time, higher productivity and appearance in social media with no cost in terms of money since the application will be free. Therefore, the competitive advantage of the application will be the ease-of-use, simplicity and no cost.
- Complexity
This project will challenge me to apply the skills I learned in the IST 411 course as well as to explore new technologies to expand my experience. Those new technologies that I will be exploring while creating the project are, integrating other services with the project using APIs, using Bootstrap to create responsive interface, securing users data through encryption and hashing, and more importantly it is not very complex based on my skills, which will allow me to meet the deadlines and finish the project by the due dates.