Projects


Chat App(Java)

The Java Chat App is a multi-user chat application built with JavaFX and Java Socket.io. It allows users to communicate with each other via a messaging interface, and includes a variety of features that make it a powerful tool for group communication.

The front-end of the application is built using JavaFX, a popular framework for building rich client applications in Java. This provides users with a smooth, intuitive interface that makes it easy to navigate and use the app. The back-end of the application is built using Java socket.io and multithreading programming, which allows for real-time messaging between users.

The Java Chat App includes a range of useful features, such as file sharing, group chat, and multiple user conversations. Users can send and receive files, join and leave groups, and chat with other users in real-time. The app also includes file uploading, file downloading, and file browsing functions that allow users to easily share and manage files.

To ensure smooth and efficient messaging, the app uses a consumer and producer pattern to create a multithreading socket server. This allows for multiple users to connect to the server simultaneously, without affecting the overall performance of the application.


Freelance-Matching

The Freelance-Matching Platform is a web and mobile app designed to help professionals find job opportunities in their field. Built with VueJS for the web front-end, NodeJS and MongoDB for the web back-end, and VueJS and Cordova for the mobile hybrid app, this platform provides a powerful and user-friendly interface for matching job seekers with employers.

The platform is designed to be easy to use for both professionals and employers. Professionals can create a profile on the platform, highlighting their skills and experience, and browse job opportunities that match their interests and qualifications. Employers can create job listings and search for professionals with the right skills and experience to fill those positions.

The Freelance-Matching Platform includes a range of features that make it easy for professionals to find job opportunities and for employers to connect with the right candidates. The platform uses advanced search algorithms to match job seekers with opportunities that match their skills and experience, and provides tools for employers to filter and manage applications.

To ensure that professionals and employers can connect and communicate easily, the platform includes real-time messaging and chat features. This allows job seekers and employers to communicate directly and efficiently, streamlining the hiring process and increasing the likelihood of successful matches.

The mobile app component of the platform is built with VueJS and Cordova, providing a seamless and responsive interface for professionals who prefer to search for job opportunities on their mobile devices. This makes it easy for professionals to browse job listings and submit applications on the go, without having to sit down at a computer.


Mini Search Engine - A Java-Based Search Engine with Web Crawling, Parsing, Indexing, and Page Ranking Capabilities

The Mini Search Engine is a powerful and efficient tool for searching the internet for information. Built with Java and Spring Boot, this search engine includes five key components: the crawler, parser, indexer, page ranking engine, and frontend.

At the heart of the Mini Search Engine is the web crawler. As information on the internet is stored on countless servers, any search engine that wants to answer a user's search request must first place the web page information on its own local server. This is done by using a seed URL to extract links to other pages, treating them as objects that will be requested next time and repeating the process.

Once the web crawler has extracted and stored the web page information, the parser component comes into play. This component is responsible for extracting the relevant content from the web pages and organizing it in a way that is easy to index and search. The parser uses advanced algorithms to extract text, images, and other relevant content from the web pages.

The indexer component is responsible for organizing the extracted content into a searchable index. This is done by creating a database of keywords and associating them with the relevant web pages. The indexer uses advanced algorithms to analyze the content of the web pages and extract the most important keywords and phrases.

The page ranking engine is responsible for determining the relevance and importance of the web pages in the search results. This is done by analyzing factors such as the number of times a keyword appears on a page, the popularity of the page, and the quality of the content. The page ranking engine uses advanced algorithms to analyze these factors and determine the most relevant and important pages for the user's search query.


A Flutter-Based Chatbot with Recommender System Built with Python Flask and DialogFlow

The Chatbot with Fashion Items Recommendation is a powerful and efficient tool for recommending fashion items to users. Built with Flutter for the frontend, Python Flask for the backend, and DialogFlow to create the chatbot agent, this platform provides a user-friendly interface for users to find and discover new fashion items.

The platform includes a range of features that make it easy for users to interact with the chatbot and discover new fashion items. Users can register and login to the platform, browse and search fashion items, rate and comment on items they have purchased or are interested in, and even post and check tweets related to fashion.

To provide users with personalized recommendations, the platform uses a user-based collaborative algorithm to build a recommender system. This algorithm analyzes users' previous purchases and behavior to identify patterns and preferences, and then recommends fashion items that match those preferences. This provides users with a more personalized and targeted shopping experience, making it easier for them to find items they are interested in.