Web Development Project (WDP301)
Vietnamese title: Dự án phát triển web
Credits: 3
Prerequisites: FER201m, SDN301m

Description:
'This course focuses on designing, developing, and integrating the basic Web-based system/application using React, React Native, Node.js, Express technologies (with the system requirements, technical framework & NoSQL (MongoDB) as asigned/agreed by the teacher)
Students are required to build the system with other 3-5 team members as appointed by the teacher.
After the course, students will be able to achieve Fullstack web development proficiency with the following skills by practising with other members of the assigned team.
- Proficiency in common web techniques and React, Node.js, Express, React Native development skills
- Proficiency in front end skills (React, Bootstrap) require for industry
- Analyze & design the solution following the object oriented models
- Coordinate with the team to complete the works in the form of a project

Learning outcomes:
Can study & analyze to understand the project requirements, actively make questions if necessary
Understand and applying MVC design pattern, knowledges of OOP in designing code modules as well as designing database based on designed UI
Proficiency in Web programming skills, based on the Java/DotNet programming language
Exhibit professional working attitudes
Practice oral presentation and inter-personal communications.

Student tasks:
'- Build the team & select/define the project topic with arrangement/guide from the teacher
- Select the team leader and using the FPT account (@fpt.edu.vn account) to setup/configure the project managemernt environment (sources, tasks, issues, milestones) on the GitLab & project documents management on the OneDrive.
- Get the detailed assignment from the teacher, plan the project tasks, and execute the project accordingly
- Students must attend at least 80% of contact slots in order to be accepted to the final presentation.
- Student is responsible to do all exercises given by the teacher in class or at home and submit on time
- Constantly follow the teacher's guides/references for up-to-date course information regarding assignment submission and feedback on assignments and project work.
- Using the GitLab to collaborate in every phase of the project by all the team members

Tools:
- One Drive or Google Drive for document management
- GitLab (https://gitlab.com/) for issue and code version management
- Visual Studio Code (https://code.visualstudio.com)
- Internet

Materials:
description: Guides & Templates (for Students & Teachers)
note: Bản mềm do FU biên soạn
description: React Native for Mobile Development
author: Akshat Paul, Abhishek Nalwaya
publisher: Apress
edition: 2nd Edition
isbn: 978-1-4842-4454-8
description: Pro MERN Stack - Full Stack Web App Development with Mongo, Express, React, and Node
author: Vasan Subramanian
publisher: Apress
published_date: 2019
edition: 2nd Edition
isbn: 978-1484243909
description: Mastering React Native
author: Bin Uzayr, Sufyan
publisher: CRC Press
published_date: 2023
edition: 1st edition
isbn: 9781032315898
description: https://www.coursera.org/learn/react-native-course
publisher: Cousera

Assessments:
category: On-going Assessment 1
type: on-going
weight: 20.0
duration: Option 1: 45'/team; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
question_type: LO1, LO2, LO3, LO4, LO5
no_question: Option 1: N/A; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
knowledge_and_skill: Option 1: Project Presentation; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
grading_guide: Requirement Analysing Designing Coding Testing Integrating
note: Main evaluating items:
- Submitted materials: SRS, SDS, Codes, Tasks/Issues Log
- LOC Evaluation: evaluate based on the complexity & quality of the screens/functions
category: On-going Assessment 2
type: on-going
weight: 20.0
duration: Option 1: 45'/team; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
question_type: LO1, LO2, LO3, LO4, LO5
no_question: Option 1: N/A; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
knowledge_and_skill: Option 1: Project Presentation; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
grading_guide: Requirement Analysing Designing Coding Testing Integrating
note: Main evaluating items:
- Submitted materials: SRS, SDS, Codes, Tasks/Issues Log
- LOC Evaluation: evaluate based on the complexity & quality of the screens/functions
category: On-going Assessment 3
type: on-going
weight: 20.0
duration: Option 1: 45'/team; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
question_type: LO1, LO2, LO3, LO4, LO5
no_question: Option 1: N/A; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
knowledge_and_skill: Option 1: Project Presentation; Option 2 (For Constructivism Approach only): Follow lecturer's proposal
grading_guide: Requirement Analysing Designing Coding Testing Integrating
note: Main evaluating items:
- Submitted materials: SRS, SDS, Codes, Tasks/Issues Log
- LOC Evaluation: evaluate based on the complexity & quality of the screens/functions
category: Final Project Presentation:
type: Final exam
weight: 40.0
duration: 45'/each
question_type: LO1, LO2, LO3, LO4, LO5
knowledge_and_skill: Project Presentation
grading_guide: Requirement Analysing Designing Coding Testing Integrating
note: The exam is organized by exam board. Must have at least 2 teachers for grading Final Project Presentation. Each team have 45 minutes for presentation.
Main evaluating items (for the whole project)
- Submitted materials: Release Document, SRS, SDS, Codes, Tasks/Issues Log
- LOC Evaluation: based on the complexity, quality, and the reality of the screens/functions

Schedule:
session: INITIATION PHASE
- Subject introduction
learning_outcomes: I
materials: WDP301
session: - Subject introduction
learning_outcomes: I
materials: WDP301
session: - Project environment preparation
learning_outcomes: TU
session: - Project environment preparation
learning_outcomes: T
U
session: - Requirement Introduction & Iteration 1 Planning
learning_outcomes: I
U
session: - Requirement Introduction & Iteration 1 Planning
learning_outcomes: I
U
session: CONSTRUCTION PHASE_Development Iteration 1 (Iter1)
- Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Iteration1 Review & Iteration2 Planning
learning_outcomes: T
U
session: - Iteration1 Review & Iteration2 Planning
learning_outcomes: T
U
session: CONSTRUCTION PHASE_Development Iteration 2 (Iter2)
- Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Iteration2 Review & Iteration3 Planning
learning_outcomes: T
U
session: - Iteration2 Review & Iteration3 Planning
learning_outcomes: T
U
session: CONSTRUCTION PHASE_Development Iteration 3 (Iter3)
- Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Iteration3 Review & Final Iteration Planning
learning_outcomes: T
U
session: - Iteration3 Review & Final Iteration Planning
learning_outcomes: T
U
session: CLOSING PHASE_Final Iteration (Iter4)
- Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Requirement clarification & software design
learning_outcomes: T
U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Practice: design, code, self-test, integrate
learning_outcomes: U
session: - Final Project Preparation
learning_outcomes: T
U
session: - Final Project Preparation
learning_outcomes: TU
session: Review
learning_outcomes: TU
session: Review
learning_outcomes: TU
session: Review
learning_outcomes: TU
session: Review
learning_outcomes: TU
session: Review
learning_outcomes: TU
session: Review
learning_outcomes: TU