RMIT logo

RMIT University Vietnam

Assignment 3 Our IT Project
Subject Code: COSC2083
Subject Name: Introduction to Information Technology
Location & Campus HN Campus
Group 12
Student names and Student numbers Tran Duc Duy - s3976085
Nguyen Duy Anh - s4022628
Nguyen Phuc Nguyen - s4025306
Nguyen Quang Minh - s3852116
Lecturer's Name Tuan Anh Hoang
Word Count: 6001

I declare that in submitting all work for this assessment I have read, understood and agreed to the content and expectations of the Assessment declaration.

TABLE OF CONTENT

  1. Team Profile
    1. Team Name
    2. Personal Information
      1. Tran Duc Duy - s3976085
      2. Nguyen Duy Anh - s4022628
      3. Nguyen Phuc Nguyen - s4025306
      4. Nguyen Quang Minh - s3852116
  2. Tools
    1. Links to our website and repository
    2. Comments
  3. Project Description
    1. Overview
    2. Detailed description
      1. Aims
      2. Plans and Progress
      3. Roles
      4. Scopes and Limits
      5. Tools and Technologies
      6. Testing
      7. Timeframe
      8. Risks
      9. Group Processes and Communication
  4. Skills and Jobs
  5. Group Reflection
    1. Group Review
    2. Nguyen Quang Minh
    3. Tran Duc Duy
    4. Nguyen Duy Anh
    5. Nguyen Phuc Nguyen
  6. References

1. Team Profile

1.1. Team name

The Red Duck

1.2. Personal Information

1.2.1. Tran Duc Duy - s3976085

Tran Duc Duy is my name, but I opt to go by Daniel. My high school literature teacher, Mr. Doug, gave me the name "Daniel," and I've been using it ever since. I'm a freshman at RMIT University right now, and the institution has given me an ID with the number S3976085. You can get in touch with me at ducduyzim@gmail.com or S3976085@rmit.edu.vn, respectively. My interests change throughout time and are essentially ever-changing. However, I enjoy gathering and displaying valuable items like clothing, shoes, and other accessories. I'm currently interested in initiatives and breakthroughs in AI. I've unfortunately never actually looked deep into AI, but I'm curious to learn more.

1.2.2. Nguyen Duy Anh - s4022628

My name is Anh Duy Nguyen, and I'm a first-year information technology student at RMIT. Since I was a little child playing with robotics, the IT industry has captivated me. I'm interested in quantitative trading and would like to work as a market maker or quant researcher in the future. I have created various programs for automated trading techniques on leverage staking since I am interested in web3 and cryptocurrencies. In my free time, I enjoy playing chess, doing pottery or simply enjoying a cup of cold brew.

1.2.3. Nguyen Phuc Nguyen - s4025306

I am Nguyen Phuc Nguyen, a first-semester student at RMIT with the student number s4025306. I have a background in Social Science, but I have always been fascinated by computers and technology, as well as enjoying solving technical problems. I have chosen to study IT at RMIT because I am really interested in software development and I think I could learn a lot more about the field and the technical aspects of it. I would like to use the skills learned at RMIT to create software that solve problems for an extensive range of people.

1.2.4. Nguyen Quang Minh - s3852116

I am Minh. I just came back to RMIT after having spent more than a year working at TVSI. My hobbies include football - Manchester United is my favourite team, F1 - I’ve been a fan of Lewis Hamilton, and Japanese subculture in general, for instance anime, light novels, visual novels,... I am also a big fan of games, especially gacha types such as Genshin Impact, FGO and Honkai Star Rail. My main interests regarding IT involve coding websites and simple games, as long as they are entertaining, nothing too serious.

2. Tools

2.2. Comments

Our collaborative effort is prominently reflected in the development of our website on Github. Minh laid out the foundation by designing the homepage, which then underwent numerous enhancements by the team to reach its current aesthetically pleasing state. Duy Anh was responsible for coding the calendar and the community chat site to ensure that these features were interactive and user-friendlyPhuc Nguyen played a pivotal role in managing the development of the group websites and the login function. Duc Duy contributed by finalising the styles used across these web pages.

We have strived to maintain a clean and meaningful commit history where each commit has been dedicated to a specific change or feature, making it easier to understand the purpose of each modification. We’ve followed a standardised naming convention to provide descriptive commit messages. However, the commit history doesn’t fully capture weeks of brainstorming sessions, the decision-making discussions, and the debugging marathons that have been integral parts of our journey.

3. Project Description

3.1. Overview

Our project is called the RMIT Social Network, a platform only for students and staff members from the university to interact with one another. The project is based on some well-known social media platforms such as Facebook, Yik Yak and Reddit. This platform will be run by students as well as organizations instead of the school board, in order to ensure that more relatable information is delivered to the community. The social network has a website along with a smartphone application working on both iOS and Android devices.

The RMIT Social Network will enhance the sense of community within the university. Currently, the only way students and staff members can interact freely is via face-to-face. Our project is suitable for the current IT trends since the majority of people use social media nowadays. Whether we are at home, in classes or outdoors, we tend to surf through these sites on our laptops or smartphones, so as to catch up on the latest news and updates online.

As we have mentioned, there are a lot of social networking sites at the moment. Our project is mainly based on Facebook, Reddit and Yik Yak, while there are also a wide range of other sites such as Youtube, Twitter and Instagram (Lua 2023). The crucial difference is that, RMIT social network is exclusive for students and staff members here, and everyone can only have a single account.

3.2. Detailed description

3.2.1. Aims

The main aim of this project is to connect everyone at RMIT through a single platform. We have noticed that each person tends to use different social media sites, so when it comes to forming a team or making new friends, it is quite challenging to communicate with others. This is definitely the case for different campuses, when we all find it difficult to reach out to members in other regions.

Another goal for our project is for clubs and organizations to reach out to everyone. Currently, the only way for them to promote is via email, which can be ignored along with a great number of other emails we receive everyday. If clubs post their updates, especially recruitments on social media, more people will be able to acknowledge them, since people spend more time on social networks compared to emails.

Our third goal is for students and faculty members to interact with one another more freely. Again, they mainly communicate through emails, which feel a bit too formal and take a long time for responses. Social media enables students to feel more comfortable while communicating with school staff, lowering the barrier between the two sides.

3.2.2. Plans and Progress

The RMIT Social Network project, an online community platform, has been in development since the early quarters of 2023. The brainchild of several RMIT University Vietnam staff members and alumni, it was conceived as a unique space to foster stronger connections within the University community. The overarching objective was to create an intuitive, engaging platform that would enhance communication, share information, provide updates, and facilitate participation in discussions and activities among students, staff, and alumni.

The project plan was laid out in three distinct phases: ideation and design, development, and testing and rollout. Each phase was rigorously monitored and iterated upon, with careful considerations to accommodate any unforeseen challenges or shifts in our objectives.

During the ideation and design phase, we centered our focus on understanding the needs of our target users. Several focus group discussions, surveys, and interviews were conducted to gather insights into what our users would want from the platform. These sessions became the driving force behind our key features - the news and updates section, user feed, subreddit-based system, anonymous posting feature (Yik Yak), the academic calendar, and the library-based feature.

Our journey into the development phase began with the completion of the platform's basic structure. The user interface was created with an emphasis on usability, ensuring that even the least tech-savvy users could navigate through the platform with ease. We also introduced the subreddit-based system and the anonymous posting feature during this phase. These features allowed users to post publicly or to a members-only forum and anonymously, making it conducive to share sensitive topics that users might hesitate to associate with their profile.

We encountered a significant roadblock when integrating the anonymous posting feature. It took us longer than anticipated to create a robust and secure anonymity system that couldn't be exploited, leading to a delay in the project's timeline. After much deliberation, we decided to push back the release date rather than compromise the feature's quality or security.

Currently, we are in the midst of the development phase. We have recently completed integrating the community chat and timeline posting page. The community chat feature allows users to engage in real-time conversations, contributing to a more vibrant and engaging platform. The timeline posting page resembles the feeds seen on platforms like Facebook, where users can post updates, share experiences, or circulate important information.

The planning and integration of the university’s current events section have been a fascinating journey in our project’s timeline. This feature was conceived with the intention of keeping the RMIT community connected and informed, a quality we as The Redduck identified as fundamental during our project’s inception. The development of this feature was marked as a priority due to its impact on user engagement and overall platform usefulness. We strive to cater for every RMIT students’ needs as RMIT Social Network is a project created by RMIT students, for RMIT students.

We established a timeline that outlined the steps for its level of successful implementation - starting from designing the feature’s interface, developing the backend for efficient data management, and finally integrating it into the existing system. The execution phase of this feature involved setting up back-end servers to handle a continuous inflow of information which would be used later to develop into a notification system for the calendar auto-subscription service. In terms of progression, we are pleased to report that the base ground for the calendar system has been created and users can now see their own calendars within the page.

The next step in our project plan is to develop the academic calendar and library-based features. The academic calendar will provide users with information about upcoming campus events, assignment deadlines, library room availability, and mentor/professor hours. The library-based feature, on the other hand, will let users see if a library room is booked, saving students' time and assisting them in planning their study schedules more effectively.

Upon the completion of the development phase, the project will proceed into the testing and rollout phase. The platform will undergo thorough testing to iron out any technical glitches and assess its user-friendliness. Feedback will be crucial during this phase to make any necessary adjustments before the final rollout.

The RMIT Social Network project is currently progressing as per plan, albeit with some minor delays. As we approach the final phases of development, our focus is on ensuring that we deliver a platform that meets our users' needs and enhances the overall RMIT community experience. This project's "story" is one of continuous learning, adjustments, and perseverance, and we look forward to seeing it bear fruit in the coming months.Looking ahead, we are optimistic about the platform's completion within the next couple of quarters, although the exact timeline is contingent upon the development and successful integration of the remaining features.

To ensure a smooth transition of the project into further development, we have been meticulous in maintaining detailed documentation of our progress, decisions made, and changes in plans. This includes a comprehensive record of our methodologies, sources of inspiration, identified bottlenecks, problem-solving strategies, and justifications for any course changes. A manual 'handover folder' has been created, and it's continuously updated with all essential details concerning the project.

During the development of the community chat feature, we grappled with some challenges. To create a real-time, seamless chatting experience that was secure and scalable required a lot of deliberation and testing. We initially considered using third-party solutions for the chat feature, but we eventually decided to build it from scratch to ensure the best fit with the existing structure of the platform.

We also faced a few hiccups in setting up the timeline posting page. It was challenging to optimise the page to handle the high volume of posts expected from the extensive RMIT network, as well as to strike a balance between displaying relevant and recent content. After trialling different algorithms, we decided on a hybrid model that incorporates both chronological and relevance-based sorting which would be implemented later on.

One crucial change made during the project's progression was the introduction of the university's current events feature. This was not a part of the original plan but was added due to overwhelming feedback from the user community. It has become clear that providing real-time updates of the university's events would significantly enhance the utility of the platform so we included this feature and successfully integrated it into the platform.

We expect to enter the testing phase, one of the most crucial processes for a successful product, once all the features have been fully designed and integrated for users' purposes. During this stage, a chosen group of RMIT community members will be asked to utilize the platform and offer comments on it. This would enable us to see any possible problems, make the required adjustments, and make sure the platform is prepared for an official launch. A comprehensive, user-friendly, and dynamic website that will act as a virtual center for the RMIT community for all RMIT students is what we hope to achieve in the end. The RMIT Social Network, in our opinion, will enhance not just internal university communication and cooperation

Despite the bumps along the way, we are proud of our progress and excited about the platform's potential. Our journey thus far has been filled with invaluable lessons, inspiring teamwork, and a shared passion for creating a resource that will significantly benefit the RMIT community. Once again, RMIT Social Network is a unified platform created by RMIT students, for RMIT students.

3.2.3. Roles

3.2.4. Scope and Limits

This social network platform is built and developed using a variety of techniques with the goal of establishing an online community where RMIT members can share and exchange contents, communicate with one another, and take part in different activities. The scope of such a project should include a user-friendly interface design and development, user profile customization, community building, content sharing, the inclusion of a voting system, message and chat functionality, and event production.

Still, creating such a social network platform has a number of restrictions and risks that must be taken into account. These include technical support needs, security threats, scalability issues, data privacy issues, and interoperability difficulties. The development process must follow stringent security measures, put in place strong data protection policies, guarantee platform compatibility, and offer quick technical support in order to reduce these risks.

Given the project's limitations, its primary goal should be to provide a platform that is intuitive, intriguing and responsive to its user needs. This means focusing on core features initially and gradually adding advanced functionality as the platform gains traction. To ensure that the project can be completed within the specified timeframe and at an affordable cost, we should also take into account the resources that are currently accessible, including time as well as funds.

3.2.5. Tools and Technologies

To create the web application for our social network, we would need the following tools and technologies:

3.2.6. Testing

Each one of our team members will be responsible for testing individual pages as we develop our application. This process involves checking whether the page renders correctly on different browsers and platforms and how it interacts with other pages and features. Once we have developed all of the basic components and features of the application, we will conduct an alpha testing phase within our team, ensuring not only individual pages will work properly but also the whole site will perform up to expectations.

Afterwards, a beta testing phase will be conducted involving students and staff within the School of Science and Technology as they will be the people with the technical knowledge to point out technical issues, bugs, design flaws, accessibility issues and even typos. This testing process will continue after the public release of our application as we roll out new features, update new pages since we aim to receive feedback and continuously improve our product over time.

3.2.7. Timeframe

The timeframe for our project starts at week 10 of the semester since week 9 was a public holiday in Vietnam. At the time of writing this report, we are currently on progress at the end of week 3. The timeframe from week 4 onwards is our future plan and is subject to changes.

Week Member
Duy Duy Anh Nguyen Minh
Week 1 Gather requirements for collecting, storing user data and creating database structure Gather requirements for website structure Set up development environment (GitHub repository and Pages) Set up UX/UI design platform, come up with ideas for UI design
Week 2 Finalize initial website structure and features Develop a mock-up homepage for the website Finalize design identity for home page and feature pages
Week 3 Research on the most appropriate way to build and integrate user database Develop features for community chat page Integrate features of community chat page, continue to work on home page Finalize design for home page
Week 4 Develop features for event calendar page Integrate event calendar feature and home page design Work on design for community chat and event calendar page
Week 5 Create and setup database Develop features for user timeline and groups (member access, followers, friend list, private messaging, etc.) Integrate appropriate design for community chat and event calendar page Work on design for group pages
Week 6 Assist on development of timeline features (private messages, chat, notifications system, etc.) Integrate timeline features (like, comment, share)
Week 7 Research and set up back-end development environment Work on design for light/dark mode on all pages
Week 8 Finish designing database and prepare for integration Design back-end architecture Set up web server and APIs
Week 9 Integrate database to the web application Write server-side logic and set up middleware Integrate database to the web application
Week 10 Prepare test cases for alpha and beta testing Test back-end functionalities Integrate light/dark mode on all pages Assist on integrating light/dark mode
Week 11 Carry out alpha testing, fix any bugs found and recruit users for beta testing
Week 12 Open beta test, receive feedback, fix issues and prepare for public release.

3.2.8. Risks

When building and developing a social network platform, there are several technological risks to consider. Here are some of the risks that we might encounter.

Security Risks: Social networking platforms are a popular target for hackers. Developers must ensure that the platform is secure and protected from cyber attacks and malicious software.

Data Privacy: Social networking sites collect a lot of personal data from users. Developers have to ensure that the platform complies with data privacy standards and protects user data. It is essential to set up many defence systems and prepare numerous countermeasures.

Interoperability: Social networking sites must be able to integrate with other platforms and services. Developers must ensure that the platform has the necessary APIs and is compatible with other technologies and platforms. The user interface/user experience (UI/UX) must also be simple to use and understand.

Scalability: As a social networking site grows, it may become difficult to handle the increasing number of users and the traffic they generate. Developers must ensure that the platform can scale up to meet demand. We don’t want it to continuously crash all the time.

Technical Support: Social networking sites necessitate an extensive level of technical assistance to guarantee that they function properly. Developers must ensure that they have enough resources to give technical help to users when it is required.

3.2.9. Group Processes and Communication

The best way for us to move forward with the project in the future is to work together in the same location, the same way team members in a company do. Working from home is another option, even though it’s not nearly as effective since communicating directly is the best way to get our ideas across. Nevertheless, this is still an option in case some of us are busy or ill. If we cannot reach out to one member via online methods, calls or messages, we can pay him a visit at home to make sure that he does not have any issues.

Since we have about three classes per week, we still have plenty of time to spend on the project, besides assignments and our individual time. We can book a separate room in the RMIT library beforehand, meet up in one of our homes or in a public area such as cafes. We can have a meeting for several hours every weekday, just as regular employees in a company.

4. Skills and Jobs

Lead Developer: This individual will be in charge of supervising the technical parts of the project and making sure that the platform is scalable, secure, and optimise the performance. In addition to having experience creating online apps and leading a group of developers, we would like them to take charge of our front-end work, which will require them to be proficient in different skills and technologies like HTML, CSS, JavaScript/TypeScript, as well as a front-end framework if possible.

Project Manager: The project manager is in charge of managing the project's overall development process and making sure it is completed on schedule and within budget. They will be knowledgeable about project management approaches like Scrum or Agile and have experience leading a group of programmers, designers, and marketers. Additionally, they will be in charge of keeping in touch with stakeholders and making sure the project lives up to their expectations.

Marketing Manager: The marketing manager will be in charge of developing and implementing a marketing strategy to publicise and attract new users to the social network platform. They will be knowledgeable in digital marketing platforms like social media, email marketing, and content marketing. They will also be skilled at using data analysis to improve campaigns and monitor ROI.

Back-end Developer: The back-end developer will be in charge of the platform's server-side functionality, including the creation of APIs, the design and construction of the database, and the management of a back-end language, such as Java or Python and a respective framework. They will also ensure that the platform is scalable, safely secure, and built optimally for the best performance. By having a dedicated back-end developer, the RMIT social network platform will be dependable, run stably, and able to handle enormous levels of traffic.

5. Group Reflection

5.1. Group Review

As we approach the culmination of the assignment period for the RMIT Social Network project for Introduction to Information Technology, it’s crucial to pause and reflect on our group performance so far.

Our team excelled in maintaining open lines of communication, which allowed for smooth coordination, quick problem resolution, and effective decision-making. Additionally, our strategic distribution of tasks based on individual strength was a successful approach, as it has maximised productivity and ensured high-quality outputs.

However, one of the areas that warrants improvement is our initial project estimation. We faced times where the timeline and workload were underestimated, leading to periods of increased stress. Developing a more precise project roadmap with contingency plans for potential delays is an area that we need to work on in the future.

A surprising element was the unanimous decision to integrate the university’s current events section, which was not a part of our original blueprint for the project. This pivot was sparked by the creation of the calendar page, highlighting the need for an adaptive and user-centric approach in our project management. One critical lesson we learned about collaborating in a group is the power of diverse perspectives. Our varied skill sets, experiences, and ways of thinking contributed to innovative solutions and enriched our project’s scope. It reinforced the idea that a group’s strength lies in its diversity.

All in all, this reflection substantiated by our project meeting minutes and individual experiences, has shed light on our strengths and areas of growth. It has provided us valuable insights that we aim to carry forward in each of us’ future endeavours. Despite challenges and unexpected turns, our collective effort has brought us a step closer to the goal of the RMIT Social Network: a unified platform created by RMIT students, for RMIT students.

5.2. Nguyen Quang Minh

I think our group worked well together, since all of us were able to contribute to the assignments we have done. I was kind of the odd one out in the team, since my teammates all had similar majors and took part in similar classes, such as Statistics and Data. What made me familiarise myself with others was similar interests: I and Duy both enjoy playing games, and I, Duy Anh and Nguyen all like watching football.

Individually, each of us was responsible since we all did our parts on time and met all of our deadlines. What surprised me the most was the fact that all of our works have been done exactly on time (usually submitted a few minutes before the deadline). Even for our presentation, we each did our parts on the slides and practised on our own. The result was that we still performed well during our presentation, without spending hours practising together. After this experience, I learned that as a group, we have to contribute both as a team and individually.

5.3. Tran Duc Duy

After working together for the first semester in the past 12 weeks, I really did enjoy every single moment of it. Every member did their part phenomenally and finished within the allotted time. There wasn’t a single problem in communication, nor in contribution rate. No excuses, just work. Our members are invested in this project, we come up with tons and tons of ideas then present to each other in order to choose the best one. We came to an agreement after lots of discussion to ensure everyone is on the same page.

The thing that astonishes me is how well we worked together. Everything went surprisingly smooth, I mean silky smooth. Even the presentation is quite good, if I do say so myself. We haven’t even spent the time rehearsing and yet, we still somehow pull that off. Maybe some of us are in multiple classes together, therefore we have already become familiar with each other's personality, so there is less chance of a drama scene.

5.4. Nguyen Duy Anh

Reflecting upon our journey as a team, it’s evident that our collaboration on the RMIT Social Network project has been a fulfilling and enriching experience. It has provided us with invaluable insights not only into the technicalities of building a social network but also into the dynamics of effective communication. However, our team has certainly encountered its share of challenges such as technical difficulties, time management issues, and even differences in perspectives within the team. Similar to any diverse groups, we had moments of differing viewpoints and disagreements. However, upon aligning individual visions into a unified project goal sometimes led to intense discussions and debates, we viewed these differences constructively, leading to better decisions for the project and a more refined final product.

Throughout these struggles, we have learned valuable lessons about resilience, adaptability, and the importance of maintaining a positive and focused outlook. Each challenge has been an opportunity for growth, driving us all to work harder, think smarter and collaborate more effectively on all aspects of the project.

Through the ups and the downs, the late-night brainstorming sessions, the code debugging marathons, and the moments of triumph, we have grown individually and collectively which has made the RMIT Social Network more than just a project. Overall, it has been a journey of learning and growth that we will continue to carry with us long after the completion of the project.

5.5. Nguyen Phuc Nguyen

I believe that our team has gotten along and worked well together. Over the course of the project and three different assignments, everyone has had a chance to contribute a reasonable amount with their respective expertises. We have surely learned a lot during this project, from project management, project planning, time management to web development and communication.

We certainly have our differences, starting from having different ideas for the project, different ways of planning our activities, different skill sets but we have learned to work together with effective communication. This communication skill is also something that we had to learn throughout the course of the project and that could easily be the most valuable skill that we have gained with this project. It has taught me personally to be adaptable and open-minded, which could become really important attributes in order to work collaboratively in a professional environment in the future.

Another really important skill that we learned is the skill to plan out a project, do the necessary research and learn the necessary skills to make that project a reality. Writing these reports also helped us understand how to document and keep track of our work, which is a skill that could really complement any technical work we will do in the future.

6. References

  1. Georgia Tech (2023) 7 Types of Jobs Coders Can Get — And How Much They Pay, Georgia Tech Professional Education website, accessed 27 May 2023. https://bootcamp.pe.gatech.edu/blog/seven-jobs-coders-can-get/
  2. Lua A (March 15 2023) 21 Top Social Media Sites to Consider for Your Brand in 2023, Buffer website, accessed 27 May 2023. https://buffer.com/library/social-media-sites