Minecraft Forge
As part of a course I took - CSCD01: Engineering Large Software Systems, I had to work on a semester-long project with 4 other students where we contributed to an open-source project of our choice. The project was split into the following phases:- Deliverable 1
- Analyze the architecture of the codebase
- Report on several different software development process and explain our choice on which one to follow for the duration of the project (we chose Kanban)
- Deliverable 2
- Investigate open issues and choose 3 bugs to fix
- Document how to setup an environment for the project and how to run tests
- Implement the changes and explain what was done, what files were involved, and how to test it
- Deliverable 3
- Investigate open issues and choose a feature to implement
- Plan out the design of the feature alongside UML diagrams
- Deliverable 4
- Implement the feature
- Write a user guide and document all design and implementation details
- Document how to perform acceptance testing on this feature
The repository containing all our code changes can be found here.
In the end, the project was a lot of work but it was a great learning experience. We also managed to get one of our bug fixes into the main codebase! Details on the commit can be found here.