Frequently Asked Questions

What type of projects can I put here?

Pretty much any projects you'd like others to see, regardless of if it's related to NUS or not. However, assignments are not considered as projects because it is likely to be duplicated by many others. Course projects with some degree of originality (a project that's proposed by you or your team and not mandated by the instructors) are good as well.

How do I know if my project is good enough to be on Code@NUS?

If someone might find your project useful in any way at all, it's good enough. The goal of Code@NUS is to increase awareness of projects done by NUS students, and help you find more contributors.

Can I add projects that don't belong to me?

Unfortunately, we only accept requests by a project’s author. If you’re adding a project that has a team of contributors, we assume that you’re adding the project with their consent, and on their behalf.

How do I add my project?

Check out our guide!

Why should I open source my project?

Why not? There may be reasons why you may not want to open source - if there are legal issues with doing so, or if you want to monetize, for example. It's still possible to open source commercial products, though (and many companies do!)

Open-sourcing your project allows people to help you find and fix bugs, and also allows for greater continuity. In the event that you may not be interested in maintaining the project any more, it's a lot easier to pass it on to someone else; even if you don't explicitly do so, it's also easier for someone else to come along and pick up where you left off.

Open source projects are much more convenient for others to build upon, which adds value to your project. They're also a great learning tool for other programmers who can now read your code and learn how you did certain things.

Finally, open-sourcing your projects on websites like GitHub are a great way to build up your portfolio and advertise your work. It also allows you to gauge the level of interest the community (especially your fellow programmers) have in the project.

How do I learn git?

GitHub has a great tutorial on git - give it a try!

What's a pull request?

A pull request is essentially a set of commits that someone (maybe you) would like to be merged into another repository.

Suppose you want to fix a bug or add some features to a project in someone else's GitHub repository. You can't push directly to that repository because you don't have write access, but you can fork the repository (that is, make a copy of it) and make your changes there.

However, it would be great if you could have your work merged back into the original repository so more people can benefit from it! This is where pull requests come in. You can send the original author a pull request - the series of commits that you have added to the forked repository, perhaps with some comments. The author can then review the changes and if they want, merge the commits into the original repository!

You can read more about how you can make pull requests on GitHub here: https://help.github.com/articles/using-pull-requests.