~ 2 min
Project ideas for django to improve your skills
You might be either starting your programming journey or a refugee from
nodejs some other programming language. Novice or advanced programmer. Either way, you're looking into starting a new project to learn more about django but your inspiration has dried up and nothing comes up.
So, to help jump start your learning journey, here's a list of project ideas for django:
- Simple registration/login system. Don't forget about the process to recover a password. If you want to go further, add the notion of teams/organisations and invites (when a user wants to invite another into a team).
- A ToDo app with the description and if it was done or not. Once you wish to go the extra mile, add the notion of due date to each todo. If it's still not done the day before the due date, notify your user by email.
- Do you know an artist? If so, build them a portfolio. Don't forget to add some social sharing and maybe a like system.
- Q&A forum. A user should be able to create a new thread and reply to his and to the threads of others. If you want to go further you can add search functionality, pagination, categorization and/or tag system, nested commenting, comment collapse, voting system and analytics to see the most visited threads.
- WordPress competitor. Do not go for something fancy, just a system to handle posts with a title and a body. If you want to go further, add a commenting system and then look at the suggestions made for the Q&A forum, they work here too.
- Basic e-commerce with products and carts. Don't forget about the checkout process. Once you do this, one step further is to integrate a payment and billing system.
- Chat app! Build a simple one, just some static page rendering with some forms. Then, use web sockets and django channels to go real-time.
- If you wish to learn about task queues, you can build a crawler that continuously fetches external information (weather perhaps) and display it on your front page.
- Cloning! Check your browser history and clone any interesting sites or platforms you find interesting. Instagram? Reddit? Pinterest? Hacker news?
We've already seen a good list of ideas to improve your skills. To get even more, take this multipliers into consideration:
- Pick any of the previous ideas that make sense, and build it instead as an API. Or maybe build the project and add the API later.
- Once you have built a project, then an admin dashboard might be interesting. For the Q&A forum (as an example): you could build a dashboard showing the number of threads, average number of comments, most commented/voted threads, most active day of the week or time of the day, new users, best contributors and so on. This might be an opportunity to explore a tile-based layout with simple counters but also some plots.
This list could be bigger, and I might add some more from time to time. Meanwhile, sharpen those knives and start building!
If you liked this post and want to read more, take a loot at these: