2703ICT Web Application Development Assignment
- Subject Code :
2703ICT
- Country :
Australia
1. ER diagram
Social networking database structure is shown in the Entity-Relationship Diagram (ERD). It has five tables: user, post, comment, post likes, and message. Every table contains a primary key (PK) to identify its records. Foreign keys (FK) like user_id connect users to posts and comments. Similarly, post_id links comments to posts. Additionally, the message database links people by sender and recipient IDs. A social networking programme uses this simplified ERD to handle user data, posts, comments, and messages. Details and functionality may be added as needed.
2. Achievements and Remaining Challenges
Completed:
- Comment System: We enabled post comments. We also implemented dynamic comment loading and display.
- User authentication restricts unauthorized access. User-specific material like profiles and posts displays properly.
- Viewable Basic User Profile: User profiles include photographs and postings.
- Database Structure: We constructed, filled, and linked database tables.
- Like System: This feature requires HTML and PHP code to enable users to like content, monitor likes, and prohibit repeated likes from the same user. We also proposed showing real-time like counts when people click "like". This feature needs JavaScript to dynamically update the like count without a page refresh.
Incomplete:
- Optimisation: While functionality was added, code optimisation, organization, and documentation are required for a more maintainable and efficient codebase.
- Security Measures: We briefly mentioned security, but more is needed to secure user data and the programme.
- Additional stylistic and layout improvements might enhance the user interface and user experience.
To produce a fully effective and safe social networking platform, the security advancements, and user interface refinements need further work.
3. Reflection
I started this task by thoroughly analyzing the PHP code and SQL dump to understand the structure and needs. This helped me find areas for improvement. Incrementally tackling challenges was my collaborative strategy. Breaking complicated activities like adding comments and likes into smaller segments worked well. This allowed us to stay focused, quickly find and fix problems, and test each item before moving on. Looking forward to Assignment 2, I see numerous development process improvements:
- Version Control: Git improves code management (Adam and Andolo 2019). It simplifies change tracking, team cooperation, and reversioning if problems develop.
- Project Planning: A thorough project plan or outline before development provides a roadmap. It needs milestones, deadlines, and task breakdowns. This would aid project organisation and direction.
- Testing: Code must be tested often throughout development. It finds and fixes errors early, decreasing debugging. Efficiency may be added using automated testing.
- Security: Understanding and user data security best practises is crucial. Web applications must prioritise user data and vulnerability protection (Laaziri et al. 2019).
- Collaboration: Working with individuals with different skills may lead to more creative ideas and a well-rounded project. Brainstorming, code reviews, and peer input increase application quality.
Assignment 2 success requires a methodical and well-organized approach, version control, project planning, frequent testing, security awareness, and teamwork. These changes will speed up development and make the product more dependable.