Raymond Hua Get In Touch

Get In Touch

Prefer using LinkedIn? Click here.

ICT Studio 2 project

Created a prototyped database and website in a team enviroment.

Client details

David Eggers
Chief Data Advisor
Methodist Mission Southern

Summary

A client wanted to develop a database to keep information for a growing project. I have created the database and a website built on top of it in a team environment within a short timeframe.

My role in the project was to contribute to the database, be the team spokesperson to the client, guide other people who needed help building the website and create the documentation for handing over to the client for them to carry on with the project.

For the website, our team have created a prototype of our site with the functionality of generating and sending PDFs to users who have attended multiple workshops and inserting a member into the area.

My roles

  • Team communicator: For this project, I handled the communication between the team and the client; this ensured that one person took the enquires. I found that very easy, and in the future when working on projects, there needs to be one person who can represent the team.
  • Database schema: I contributed to the database for the project as the rest of the team members did; I designed a third normal form schema that would be handed to the client. I also created a final version of our schema based on what we had done and linked the entities between one table to another.
  • Helping other people who needed help: When the other team members were creating the website, I kept it calm and normal and went over what the code meant until they understood what it was. When I could not find the answer, we researched the internet for possible solutions.
  • Software developers manual: Created a technical report for our final assessment. It consisted of what the files mean, the schema, and the data dictionary, which would get handover to the client. I found it easy to do it within a short timeframe, but what I could have done was mainly focus on the developer and also handle the code.
  • Generating PDFs: Used FPDI and FPDF to modify an existing PDF to include the participant’s details from the database; I found that challenging, but after seeing the resources on the internet, I managed to create an excellent output in the end. I also had to find out what the code meant and modify it.
  • Sending PDFs to users: Created an SQL query for when a participant attends two or more workshops; it gets sent to the user and keeps a record in the database. The SQL query was challenging since I also had to find who had not received their certificates, but after reading online for resources, I managed to get it working and prove to future project developers that this functionality could be done.

Outcomes

  • Worked in a DevOps team environment by debugging other people’s code.
  • Communicated with an external client in an efficient matter.
  • Developed a partial full-stack application, including email attachments functionality.

How I found this project

I found this project difficult because there needed to be more clarity about what the client wanted for the other team members. Looking back at it now, I have learned to avoid going overboard with the project (such as having an API server in our proposal) and keep things simple for the team to use. I also found it hard to write and merge code; by doing that, I had to see the problems and how to fix them. I also realised how easy to find functionalities such as sending a PDF to a participant.

I also found it very hard for myself since, most of the time, we all had commitments outside of work, and we realised it was much better to come in on campus and get help when needed. I also showed a bit of stress as I was in a team where we were all confused, but I should have taken time away from the project when I realised it.

What we could have done next time/future work

  • Code merging: this was very tricky since the other team members followed the same tutorial but had different variable names. I would like to have a consistent variable name for handling the code. We should have a sit-down and chat with the group about naming variables.
  • Keep things simple for the team: for our proposal, I have included an API server for data connection and making it more secure; however, after the presentation, we decided to take it out since we need to keep it simple. I learn from this to stay moderate with making ideas and focus on what the other team is capable of.
  • Access control file: Proper login functionality would need to be implemented. One solution is to create a session using a PHP file and include it on all pages that need to have a login functionality.

Software used

PHP, MySQL, HTML, CSS, XAMPP, Apache2

PHP packages

FPDI, FPDF, PHPMailer

Diagrams for generating PDFs

Screenshots


Kia ora, my name is Raymond!

Graduated with an ICT Degree and Diploma. Open to any graduate and junior opportunities in NZ and Australia.

Hard-working team player with skills in agile software development, web development, cloud computing, server maintenance, vector design, form design, and more.

I’d love to see how things go, feel free to send me your enquiry below or on LinkedIn!

Get in Touch