I've committed to an intensive 30-day Java development journey, where I'll build one unique project each day to enhance my programming skills and expand my practical knowledge of Java development.
This challenge is designed to:
- Strengthen core Java programming concepts
- Explore different application domains and use cases
- Build a diverse portfolio of functional applications
- Develop consistent coding habits and problem-solving skills
- Project 1: CLI Banking Application
- Project Name: CLI-BANKING
- Day: 1/30
- Type: Command Line Interface Application
- Description: A comprehensive banking system that allows users to perform essential banking operations through a command-line interface.
- Account creation and management
- Deposit and withdrawal operations
- Balance inquiries
- Transaction history tracking
- User authentication and security
- Project 2: Task Tracker
- Project Name: Task-Tracker
- Day: 2/30
- Type: Command Line Interface Application
- Description: Task tracker is a project used to track and manage your tasks. In this task, you will build a simple command line interface (CLI) to track what you need to do, what you have done, and what you are currently working on. This project will help you practice your programming skills, including working with the filesystem, handling user inputs, and building a simple CLI application.
- Project 3: Gitgub User Activity
- Day: 3/30
- Type: Command Line Interface Application
- Description: In this project, i build a simple command line interface (CLI) to fetch the recent activity of a GitHub user and display it in the terminal. This project will helped me practice my programming skills, including working with APIs, handling JSON data, and building a simple CLI application.
- Project 4: Expense Tracker
- Day: 4/30
- Type: Command Line Interface Application
- Description: Build a simple expense tracker application to manage your finances. The application should allow users to add, delete, and view their expenses. The application should also provide a summary of the expenses.
- Project 5: Number Guessing Game
- Day: 5/30
- Type: Command Line Interface Application
- Description: Build a simple number guessing game where the computer randomly selects a number and the user has to guess it. The user will be given a limited number of chances to guess the number. If the user guesses the number correctly, the game will end, and the user will win. Otherwise, the game will continue until the user runs out of chances.
Unit converter to convert between different units of measurement.
-
Project 6: Unit Converter
-
Day: 6/30
-
Type: Command Line Interface Applciation
-
Description: A CLI tool where user can input a value to convert, select the unit to convert from and to, and view the converted value.
-
The user can input a value to convert.
-
The user can select the units to convert from and to.
-
The user can view the converted value.
-
The user can convert between different units of measurement like length, weight, temperature, etc
A tic-tac-toe game involving 2 players
- Project 7: Tic-Tac-Toe
- Day: 7/30
- Type: Command-Line Interface (CLI) Application
- Description: A multiplayer Tic-Tac-Toe game built as a command-line application that allows two players to compete in real time over a network. This project uses Java sockets to establish a client-server architecture, enabling seamless communication between players without relying on a database or web-based technologies. The game logic ensures turn-based play, input validation, and win/draw detection, providing a smooth and interactive experience for users on the terminal.
A cli student management system to add, delete students also add subject and grades.
- Project 8: Student Management system
- Day: 8/30
- Type: Command-Line Interface (CLI) Application
- Description: Build a cli tool for storing student name, subject and grade. The project made use of Java collection, Jackson to store JSON.
A simple calculator application built with Java AWT (Abstract Window Toolkit).
- Project 9: Java Calculator
- Day: 9/30;
- Type: Java AWT (Abstract Window Toolkit)
- Description: Build a AWT calculator that does basic arithmetic.
A simple Command Line Interface (CLI) application in Java for managing contacts.
Supports adding, updating, deleting, and searching contacts, with the ability to persist data using JSON or CSV file storage.
- Project 10: Contact book cli
- Day: 11/30
- Type: Command-Line Interface (CLI) Application
- Description: Build a cli tool for storing contact name, phone, email and address, Jackson to store JSON.
A command-line based inventory management system built in Java that helps track products, manage stock levels, and monitor inventory value.
- Project 12: Inventory management CLI
- Day: 12/30
- Type: Command-Line Interface (CLI) Application
- Description: Build a cli tool for storing inventory lsit, Jackson to store JSON.
A command-line based todolist system built in Java that helps to add new task with description, priorities, and deadlines
- Project 13: TodoList App CLI
- Day: 13/30
- Type: Command-Line Interface (CLI) Application
- Description: Build a cli tool for storing new task, Jackson to store JSON
A command-line to generate password and check password strength
- Project 14: Password Generator
- Day: 14/30
- Type: Command-Line Interfac (CLI) Application
- Description: Build a cli tool for generatiing password and checking strength of password.
A command-line that monitors weather conditions and stock prices, providing real time updates.
- Project 15: Weather & Stocks Report
- Day: 15/30
- Type: Command-Line Interfac (CLI) Application
- Description: A Java application that concurrently monitors weather conditions and stock prices, providing real-time updates in a formatted console output.
A lightweight command-line chat application built in Java
- project 16: Java CLI Chat App using websockets
- Day: 16/ 30
- Type: Command-Line Interfac (CLI) Application
- Description: A Java application that sends real-time message via websockets
A lightweight, real-time command-line chat application built in Java using WebSockets.
- Project: Java CLI Group Chat with WebSockets
- Day: 17/30
- Type: Command-Line Interfac (CLI) Application
- Description: A simple yet effective group chat system that allows multiple users to communicate in real time using WebSockets over the terminal. Users can join rooms, send messages, and interact through a responsive CLI.
A real-time chat application with private messaging capabilities built using Java WebSocket.
- Project: ChatDMS - With websockets
- Day: 18/30
- Type: Command-Line Interfac (CLI) Application
- Description: A simple yet effective group chat system that allows multiple users to communicate in real time in thier private dm.
A CLI tool to scrap website
- Project: Java Web Scraper
- Day: 20/30
- Type: Command-Line Interfac (CLI) Application
- Description: A flexible web scraping tool built in Java that allows you to extract articles from any website using custom CSS selectors.
A simple, menu-driven Java application for generating, viewing, and extracting information from QR codes using the ZXing library.
- Project: QR Code Manager
- Day: 21/30
- Type: Command-Line Interfac (CLI) Application
- Description: A project to generate QR code and view QR code.
A simple CLI-tool that handle room booking, guests registration and food ordering.
- Project: Hotel Management system
- Day: 22/30
- Type: Command-Line Interfac (CLI) Application
- Description: A project to handle room booking, guest management and food ordering.
A simple Java-based food ordering system that allows users to browse restaurants, view menus, and place orders.
- Project: Food Ordering service
- Day: 23/30
- Type: Command-Line Interfac (CLI) Application
- Description: A project that allow user to login and order food from restaurants.
A simple CLI-based e-commerce system for buyers and suppliers to buy goods and post goods
- Project: E-commerce system
- Day: 24/30
- Type: Command-Line Interfac (CLI) Application
- Description: A project that allow supplier to post their goods and buyers to buy the goods.
A simple library system to allow librarians to add books and members.
- Project: Library System
- Day: 25/30
- Type: Command-Line Interfac (CLI) Application
- Description: This is a simple Library Management System implemented in Java. It allows librarians to manage books and members, and provides basic library operations.
A comprehensive Java-based clinic management system that handles doctors, patients, and appointments with a command-line interface.
- Project: Clinic management system
- Day: 26/30
- Type: Command-Line Interfac (CLI) Application
- Description: A CLI tool for a clinic that makes patient book a doctor for an appointment
A simple Java console application for managing a school system. It allows administrators to manage students, lecturers, and courses, as well as handle enrollments and grading.
- Project: School System
- Day: 27/30
- Type: Command-Line Interfac (CLI) Application
- Description: A cli tool to add, remove and list students and courses.
A simple cli tool to view cars and rent them
- Project: Car Rental
- Day: 28/30
- Type: Command-Line Interfac (CLI) Application
- Description: A cli tool to view cars and rent them.
A simple cls tool to manage products, sales and get revenues.
- Project: Inventory Management system
- Day: 29/30
- Type: Command-Line Interfac (CLI) Application
- Description: A simple, command-line-based inventory management system for Femi Electronics. This application allows for the management of products, sales, and revenue tracking through a text-based interface.
A simple cli tool to deliver parcel to it destination from it origin.
- Project: Parcel Delivery System
- Day: 30/30
- Type: Command-Line Interfac (CLI) Application
- Description: Customers create their parcel and it gets assigned to a driver to deliver it.