Solution
1. Requirement Analysis
The client and pre-sales discuss and note what are essentials for the project. Some main information includes:
- The objectives of this project?
- The scope of project
- The current status of the system (components), such as:
- What to change?
- What to add?
- What can be removed?
- Hardware requirements
Then, the PM creates a general outline for a document of requirement specification, which serves as a guideline for the next step.
2. Design Specification
The design draft is prepared based on requirement specifications, helping to specify the hardware as well as system requirements. The design specifications for the system serve as the input for the following phase of the software development model, including some as below:
- System architecture
- Database schema
- API design
3. Execution
After receiving the design documents, the tasks for different roles are divided equally into various units. Developers take responsibilities for writing code, both backend and frontend. Meanwhile, UI/UX designers carry out different design stages, such as user research, sketching and building prototypes. Testers, both automation and manual, prepare test cases as well.
4. Testing
All test cases, prepared at the last step, are run on different frameworks and tools. We carry out all variants of the functional testing such as integration testing, unit testing, system testing, user acceptance testing, as well as non-functional testing.
5. Deployment
After ensuring that the system is error-free and user-friendly, we hand over the final product to the client. The development team continues to monitor if there are any essential changes or unexpected bugs in real time.
Technology
Languages |
Database |
Cloud |
PHP |
PostgreSQL |
AWS |
Laravel |
|
|
VueJS |
Main functions and features
The system assists teachers to:
(1) Mark tests & exams
(2) Analyze and manage uploaded vocabularies
(3) Manage users' information
(4) Archive curriculum
(5) Push notification via email
It helps students to:
(1) Registers new courses
(2) Receive test/exam results
(3) Receive notifications