Networking
-
Fetch Current Weather
Difficulty: Intermediate
Get the current weather for a given zip/postal code.
-
Chat Application (IRC or MSN Style)
Difficulty: Expert
Create a chat application that can create simple chat rooms like on Internet Relay Chat (IRC) or a more direct chatting style like MSN. For added complexity, create your own protocol to facilitate this chatting.
-
P2P File Sharing App
Difficulty: Expert
Create a program like LimeWire, FrostWire, Bearshare, or a torrent style application.
-
FTP Program
Difficulty: Expert
A file transfer program which can transfer files back and forth from a remote web sever.
-
Port Scanner
Difficulty: Intermediate
Enter an IP address and a port range where the program will then attempt to find open ports on the given computer by connecting to each of them. On any successful connections mark the port as open.
-
Mail Checker (POP3 / IMAP)
Difficulty: Intermediate
The user enters various account information include web server and IP, protocol type (POP3 or IMAP) and the application will check for email on several accounts at a given interval.
-
Packet Sniffer
Difficulty: Expert
A utility program that will read packets coming in and out of the machine along with related information like destination and payload size.
-
Country from IP Lookup
Difficulty: Intermediate
Enter an IP address and find the country that IP is registered in.
-
Whois Seach Tool
Difficulty: Intermediate
Enter an IP or host address and have it look it up through whois and return the results to you.
-
Zip / Postal Code Lookup
Difficulty: Intermediate
Enter a zip or postal code and have it return which city/cities that are in that zip code.
-
Remote Login
Difficulty: Expert
Create a remote desktop style application which can see and control the remote computer (given you have permissions). It may require the use of your own private network and a second computer to test with.
-
Site Checker with Time Scheduling
Difficulty: Intermediate
An application that attempts to connect to a website or server every so many minutes or a given time and check if it is up. If it is down, it will notify you by email or by posting a notice on screen.
-
Small Web Server
Difficulty: Expert
A simple web server that can serve HTML files that contain Javascript and other forms of non-code executing code. Added complexity would be to try and implement streaming video, create a server-side language, or serve up other stream types.
-
Web Bot
Difficulty: Expert
An automated program which carries out tasks on the web including checking websites, page scraping, and summarization of data or web posting.
-
Get Atomic Time from Internet Clock
Difficulty: Intermediate
International Atomic Time (TAI, from the French name Temps Atomique International is a high-precision atomic coordinate time standard based on the notional passage of proper time on Earth’s geoid. Develop a program will get the true atomic time from an atomic time clock on the Internet. There are various clocks across the world. Do a search for a list of them and use one.
-
Youtube Subscriber Notification
Difficulty: Expert
The user inputs the link to any Youtube channel’s account and the program will track the subscriber count. Ideally, it should check every 10 minutes and play a tone if the subscriber count has increased. For added complexity, allow users to be able to set the check interval and subscriber increased tone. Also, add a checkbox that when selected makes the subscriber increment notification realtime.
To be able to implement this idea, you’d need to have a firm grasp of querying APIs, JSON and REST. To know how to get the subscriber count of an account, browse the Youtube API documentation > https://developers.google.com/youtube/v3/docs
Submitted by Xelostar