Web Projects

1. URL Shortener Tool

Project Details: Are you familiar with some tools like bit.ly and TinyURL ? These tools shorten the URL and makes them easy to remember. Long URLs are filled with difficult characters and it’s not easy to remember them. These services reduces the characters or letters in URLs and returns a new shorten URL to the user. For example: https://www.w3wiki.org/explore/?category%5B%5D=Arrays&page=1 can be converted into https://tinyurl.com/y92ysnmb. So here the goal is to build similar kind of application. 

Technical Details: The main goal of this app is to shorten the URL and when the user visits the shorten URL, he/she must be redirected to the original URL. To generate the characters for shortened URL you can use the combination of the random and string modules. You need to save the original and shortened URLs in the database so whenever a user visits the shortened URL (days, months, or even years after) the application checks the database, if the URL exists, it redirects to the original, or else it redirects to a 404 page.

Additional Challenge: You can make this tool more user friendly by adding the feature of custom URL option for user. It will be easier for a user to remember the custom URL generated by themselves. 

Real Life Examples:

  • Bit.ly
  • TinyURL

2. Pin Your Note

Project Details: We get so many ideas throughout the day and it’s a common nature of human that we forget the things very easily (even the important ideas or thoughts) due to our busy schedule or for some other reason. To remember things easily isn’t it a good idea to make an app that create a note of our ideas online? Using Python you can build a Pin Your Note application where a user can list out all the things he/she wants to remember and that list will be accessible from anywhere (since it is on a digital platform). 

Technical Details: The main aim of this project is to allow users to save their ideas. Each user will have their own private notes and to create private notes you need to create an account creation feature with authentication. You can use Django framework which comes with its authentication system but if you’re using bottle or flask you will have to implement the user authentication on your own. 

You can also add the feature that allows users to make a category of the notes. This way users will be able to segment their notes under different categories. For example, a user can create one section for programming languages, one for data structure and algorithms and the other one for databases. 

If we talk about using the database for this application to store the information then you can use MySQLdb module if you select MySQL database or the psycopg2 module for a PostgreSQL database. You can also use other modules but that depends on the database you select for the application. 

Additional Challenge: A lot of times we forget that we have created our important notes somewhere and that time we expect that somebody can remind us about the notes. So you can add a reminder feature in this app. This feature will allow the users to set a time for the reminder and he/she will receive a notification by email about the notes. 

Real Life Examples:

  • Pinup
  • Note.ly

3. Quiz Application

Project Details: Quizzes are always helpful in testing the knowledge, identifying the mistakes and correcting those mistakes. Taking an online test is the best way to understand the concepts completely. Using Python you can create a Quiz application that will list out a series of questions for users and the users will be allowed to answer those questions. Think of the Quiz Application as a kind of questionnaire. 

Technical Details: The main goal is to set quizzes (series of questions) and people have to answer those questions. The app will display the final score and the right answer to the questions. Here you need to think about the admin users because only the admin will be allowed to create the quiz or set the questions for other users (who will attend the quiz). 

You need to implement the account creation feature to keep the individual records of scores. Admin user should be able to create tests with the questions and answers by simply uploading a text file. You can choose any format for the text file but the application should convert this file to a quiz. In your database, you need to store the questions, possible answers, correct answers, and the scores for each user. You can use MySQLdb module if you select MySQL database or the psycopg2 module for a PostgreSQL database. You can also use other modules but that depends on the database you select for the application. 

Additional Challenge: Add a feature that allow users to add timers to the quizzes. This way the creators of a quiz (admin users) can determine how many seconds or minutes a user should spend on each question in the quiz. You can also add the quiz-sharing feature where a user can share interesting quizzes on other platforms.

Real Life Examples:

  • Kahoot
  • myQuiz

7 Cool Python Project Ideas for Intermediate Developers

Python in the world of programming everyone is familiar with the popularity of this language. Learning python and building the project is always an amazing experience for developers. This language really deserves hype in today’s era and why not if it can solve a lot of real-world problems. Well, every programmer’s journey starts with learning the basics of any programming language and once they move ahead they realize the importance of building the projects using the same language. They become curious to know how things work in some applications and they try to get some practical exposure to expand their knowledge by building some cool projects. If you’re a developer then learning the syntax of a language is not enough….it’s important to know that how the concepts of a language can be applied to solve some real-world problems or challenges. Well, python is not an exception. 

Python is a very powerful language and the best thing is it’s easy to learn. You can build a lot of cool stuff using this language. So don’t just get stuck on theoretical concepts. Once you know the basics of this language, go ahead, explore, find out some good projects to work on, and get some practical exposure. In programming always remember that getting hands-on experience is the best way to strengthen your knowledge.   Today in this blog we are going to discuss some projects you can work on as an intermediate Python developer. These projects are not too hard and not too easy. There will be some challenges while building these projects and you will really enjoy solving those problems. We have divided the projects into three categories…

  1. Web Applications: Basically developers are responsible for building both the front-end and back-end part of the application. As a python developer, your main focus would be back-end part where all the business logic gets implemented. You can use some Python web frameworks such as Django and Flask.
  2. Desktop GUI: You can make your own Desktop Graphical User Interface application using Python. PySimpleGUI is one of the user friendly framework for Desktop applications. PyQt5 is another advanced powerful GUI framework but it has steep learning curve.
  3. Command-Line: Command line applications work in a console window. You can use docopt, argparse, and click frameworks to build your applications.

Now let’s discuss some projects for all the above three categories one by one…

Similar Reads

Web Projects

1. URL Shortener Tool...

GUI Projects

1. MP3 Player...

Command-LIne Projects

1. Site Connectivity Checker...