Sociogram
Project Description
It is a user-friendly web application which helps users to explore the social world with just a single sign up. It is flexible enough for users to create/edit/manage their own individual accounts. User can find friends based on similar interests, which means that the user gets to update/edit their interests/hobbies in their profile information such that they can connect to other users with similar diversion. This helps users to widen their social circle and will help them explore people from different cultures as well.
Communication acts a bridge that is meant for the connection and collaboration that happens between users. They can either message their friends or can make an audio call with a strong internet connectivity.
This website acts as a platform to share their ideas/articles/ideologies via their personal accounts. People who follow or are friends with that particular user will be able to view and react to the posts. User can make use of an adjustable feature wherein they can add the privacy settings to each of the posts they upload either to make it private (share it with only selected people/friends) or can make it public such that all of the friends in the list can view it.
Discussion Forums is an open page which is accessible to all the users who are signed up to this site. When a public opinion/help is required, the users can post in their queries or can answer to the already existing/new posts. In addition to it, users get to vote either thumbs up or thumbs down to the answered queries, which in turn helps other users with similar doubt to pick a solution that has the highest votes (which makes the solution/answer more reliable).
Users can look for and can book the tickets for ongoing or upcoming events/movies nearby as individual or group booking. Payments to the booked tickets will be made via online payment methods and the user who have booked the ticket will receive the updates and event reminders via registered email id.
SOCIOGRAM 2
Development Environment
UI Design and Development
We are using HTML to define the basic structure for the application. To add in custom styling and to have the flexible user Interface experience, we will use Cascading Style sheets (CSS) and are making use of frameworks like bootstrap, ElementUI, fontawesome.
We are using JavaScript to manage frontend validation, build frontend features and fetch Api’s created in the backend.
Backend Development:
The Backend server is built using NodeJs. The API’s that are built at the backend part of the project can be easily fetched for the frontend. We will also include a middleware, ExpressJS as it is a modular web framework for Nodejs which eases the creation of web applications and servers.
Database:
Mongo DB Atlas is used for the storage/manipulation of the data. Mongo DB Atlas is a fully managed cloud database.
Project Management Tool:
We have created a KanBan board in Trello. The entire project will be managed in such a way that the tasks that are assigned to each of the team members updated in the backlog card for project tracking. Team members will be updating onto the status of their assigned work.
Configuration Management System:
The group repository in GitHub is named (Code6). Wherein each of the team member will push the updated code to their own branches, once the task assigned is executed with program expectations.
SOCIOGRAM 3
PERT CHART
|
|
Project’s initial planning starts with installations of software’s and segregating the tasks for each of the team members.
The Front end and Backend team will initiate the programming parallelly to finish the development of core functionalities by end of Iteration1.
The Front-end team will involve in designing the UI and fetch the API’s developed by backend team.
The Back-end team will first create the database connection securely and will start developing the APIs for each of the core features of the application.
On the regular basis, risks will be monitored in order to maintain efficiency and security.
SOCIOGRAM 4
Risk Management
Below are the three main risks -
Application Scalability:
1. Application Scalability refers to the capacity of an application to grow in time. It is expected to handle the large number of user requests per minute efficiently.
1. This risk can be monitored by analyzing the throughput values and response times for each of the requests.
1. By re-evaluating the performance of application at every iteration using load testing.
1. By using methods like indexing in database, optimizing the images, usage of Cache.
Broken Authorization:
1. It turns out that a lot of security risks are caused by broken authentication. This mainly occurs due to incorrect implementation of functions related to authentication and session management.
1. This risk can be monitored by implementing multi factor authorization.
1. Also, by verifying weak password checks and by restricting to provide default credentials to any users/admin
Database Security:
1. Database Injection is the most important risk we should look for.
1. This risk can be monitored by performing the data validation at server end.
1. Security of data can be made by authenticating the database