This DevZenGarden repo is a place to find inspiration for development projects.
These project ideas are not intended to be platform or language specific, but are intended to be flexible enough to complete in the programming language of your choice.
All projects are intended to help you practice the full development life cycle.
- Requirements Gathering
- Planning / Design
- Coding
- Testing
- Deployment (this is not explicitly included, but should also be practiced)
We want you to find project ideas based on the type of project that you are building. These may include:
- Console Application
- Web Front End
- API
- Database
- Graphics
- Desktop
- etc.
Because of this you may find similar project ideas in multiple categories.
We will also add new categories as appropriate.
Within each category we will group the project into a difficulty level. We are starting with 3 levels but may expand to more levels if it becomes necessary.
These projects are intended to be mini projects which should be quick to develop. The intent is to practice and demonstrate specific coding challenges within a full project.
The Medium sized projects are intended to help demonstrate multiple programming concepts within a single project. These projects will require a bit more planning and coding, as you are working to integrate 2 or more systems together.
These projects are intended to be fully functional solution. As the name implies, these solutions will be challenging and will require significant planning and integration of multiple systems (i.e. databases, apis and/or external services).
Each of the projects will have a requirements document (a README file). The requirements will not dictate which programming language or platform should be used, rather that decision will be yours to make.
We will also include sample solutions for the projects. We feel that learning is enhanced when you can see how others have solved the same problem.
Because of this we intend to allow submissions of your solutions for projects. The submission process has not yet been implemented, but these are the initial guidelines:
- The code must compile.
- The code must be well organized and easy to read (i.e. no smelly code or comments).
- The code must be properly formatted.
- The solution must meet the Category AND Difficulty requirements for the project. For example:
- a Console Application cannot have a Web UI.
- a Small project cannot have a Challenging solution.
- Solutions must be professional and appropriate
- i.e. no vulgar, pornographic or otherwise inappropriate submissions.