Found 386 repositories(showing 30)
alejandro-ao
A Langchain app that allows you to chat with multiple PDFs
ManojKumarPatnaik
A list of practical projects that anyone can solve in any programming language (See solutions). These projects are divided into multiple categories, and each category has its own folder. To get started, simply fork this repo. CONTRIBUTING See ways of contributing to this repo. You can contribute solutions (will be published in this repo) to existing problems, add new projects, or remove existing ones. Make sure you follow all instructions properly. Solutions You can find implementations of these projects in many other languages by other users in this repo. Credits Problems are motivated by the ones shared at: Martyr2’s Mega Project List Rosetta Code Table of Contents Numbers Classic Algorithms Graph Data Structures Text Networking Classes Threading Web Files Databases Graphics and Multimedia Security Numbers Find PI to the Nth Digit - Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go. Find e to the Nth Digit - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. Fibonacci Sequence - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. Prime Factorization - Have the user enter a number and find all Prime Factors (if there are any) and display them. Next Prime Number - Have the program find prime numbers until the user chooses to stop asking for the next one. Find Cost of Tile to Cover W x H Floor - Calculate the total cost of the tile it would take to cover a floor plan of width and height, using a cost entered by the user. Mortgage Calculator - Calculate the monthly payments of a fixed-term mortgage over given Nth terms at a given interest rate. Also, figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). Change Return Program - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. Binary to Decimal and Back Converter - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. Calculator - A simple calculator to do basic operators. Make it a scientific calculator for added complexity. Unit Converter (temp, currency, volume, mass, and more) - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to, and then the value. The program will then make the conversion. Alarm Clock - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. Distance Between Two Cities - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. Credit Card Validator - Takes in a credit card number from a common credit card vendor (Visa, MasterCard, American Express, Discoverer) and validates it to make sure that it is a valid number (look into how credit cards use a checksum). Tax Calculator - Asks the user to enter a cost and either a country or state tax. It then returns the tax plus the total cost with tax. Factorial Finder - The Factorial of a positive integer, n, is defined as the product of the sequence n, n-1, n-2, ...1, and the factorial of zero, 0, is defined as being 1. Solve this using both loops and recursion. Complex Number Algebra - Show addition, multiplication, negation, and inversion of complex numbers in separate functions. (Subtraction and division operations can be made with pairs of these operations.) Print the results for each operation tested. Happy Numbers - A happy number is defined by the following process. Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers, while those that do not end in 1 are unhappy numbers. Display an example of your output here. Find the first 8 happy numbers. Number Names - Show how to spell out a number in English. You can use a preexisting implementation or roll your own, but you should support inputs up to at least one million (or the maximum value of your language's default bounded integer type if that's less). Optional: Support for inputs other than positive integers (like zero, negative integers, and floating-point numbers). Coin Flip Simulation - Write some code that simulates flipping a single coin however many times the user decides. The code should record the outcomes and count the number of tails and heads. Limit Calculator - Ask the user to enter f(x) and the limit value, then return the value of the limit statement Optional: Make the calculator capable of supporting infinite limits. Fast Exponentiation - Ask the user to enter 2 integers a and b and output a^b (i.e. pow(a,b)) in O(LG n) time complexity. Classic Algorithms Collatz Conjecture - Start with a number n > 1. Find the number of steps it takes to reach one using the following process: If n is even, divide it by 2. If n is odd, multiply it by 3 and add 1. Sorting - Implement two types of sorting algorithms: Merge sort and bubble sort. Closest pair problem - The closest pair of points problem or closest pair problem is a problem of computational geometry: given n points in metric space, find a pair of points with the smallest distance between them. Sieve of Eratosthenes - The sieve of Eratosthenes is one of the most efficient ways to find all of the smaller primes (below 10 million or so). Graph Graph from links - Create a program that will create a graph or network from a series of links. Eulerian Path - Create a program that will take as an input a graph and output either an Eulerian path or an Eulerian cycle, or state that it is not possible. An Eulerian path starts at one node and traverses every edge of a graph through every node and finishes at another node. An Eulerian cycle is an eulerian Path that starts and finishes at the same node. Connected Graph - Create a program that takes a graph as an input and outputs whether every node is connected or not. Dijkstra’s Algorithm - Create a program that finds the shortest path through a graph using its edges. Minimum Spanning Tree - Create a program that takes a connected, undirected graph with weights and outputs the minimum spanning tree of the graph i.e., a subgraph that is a tree, contains all the vertices, and the sum of its weights is the least possible. Data Structures Inverted index - An Inverted Index is a data structure used to create full-text search. Given a set of text files, implement a program to create an inverted index. Also, create a user interface to do a search using that inverted index which returns a list of files that contain the query term/terms. The search index can be in memory. Text Fizz Buzz - Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”. Reverse a String - Enter a string and the program will reverse it and print it out. Pig Latin - Pig Latin is a game of alterations played in the English language game. To create the Pig Latin form of an English word the initial consonant sound is transposed to the end of the word and an ay is affixed (Ex.: "banana" would yield anana-bay). Read Wikipedia for more information on rules. Count Vowels - Enter a string and the program counts the number of vowels in the text. For added complexity have it report a sum of each vowel found. Check if Palindrome - Checks if the string entered by the user is a palindrome. That is that it reads the same forwards as backward like “racecar” Count Words in a String - Counts the number of individual words in a string. For added complexity read these strings in from a text file and generate a summary. Text Editor - Notepad-style application that can open, edit, and save text documents. Optional: Add syntax highlighting and other features. RSS Feed Creator - Given a link to RSS/Atom Feed, get all posts and display them. Quote Tracker (market symbols etc) - A program that can go out and check the current value of stocks for a list of symbols entered by the user. The user can set how often the stocks are checked. For CLI, show whether the stock has moved up or down. Optional: If GUI, the program can show green up and red down arrows to show which direction the stock value has moved. Guestbook / Journal - A simple application that allows people to add comments or write journal entries. It can allow comments or not and timestamps for all entries. Could also be made into a shoutbox. Optional: Deploy it on Google App Engine or Heroku or any other PaaS (if possible, of course). Vigenere / Vernam / Ceasar Ciphers - Functions for encrypting and decrypting data messages. Then send them to a friend. Regex Query Tool - A tool that allows the user to enter a text string and then in a separate control enter a regex pattern. It will run the regular expression against the source text and return any matches or flag errors in the regular expression. Networking FTP Program - A file transfer program that can transfer files back and forth from a remote web sever. Bandwidth Monitor - A small utility program that tracks how much data you have uploaded and downloaded from the net during the course of your current online session. See if you can find out what periods of the day you use more and less and generate a report or graph that shows it. Port Scanner - 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) - The user enters various account information include web server and IP, protocol type (POP3 or IMAP), and the application will check for email at a given interval. Country from IP Lookup - Enter an IP address and find the country that IP is registered in. Optional: Find the Ip automatically. Whois Search Tool - Enter an IP or host address and have it look it up through whois and return the results to you. Site Checker with Time Scheduling - An application that attempts to connect to a website or server every so many minute 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 the screen. Classes Product Inventory Project - Create an application that manages an inventory of products. Create a product class that has a price, id, and quantity on hand. Then create an inventory class that keeps track of various products and can sum up the inventory value. Airline / Hotel Reservation System - Create a reservation system that books airline seats or hotel rooms. It charges various rates for particular sections of the plane or hotel. For example, first class is going to cost more than a coach. Hotel rooms have penthouse suites which cost more. Keep track of when rooms will be available and can be scheduled. Company Manager - Create a hierarchy of classes - abstract class Employee and subclasses HourlyEmployee, SalariedEmployee, Manager, and Executive. Everyone's pay is calculated differently, research a bit about it. After you've established an employee hierarchy, create a Company class that allows you to manage the employees. You should be able to hire, fire, and raise employees. Bank Account Manager - Create a class called Account which will be an abstract class for three other classes called CheckingAccount, SavingsAccount, and BusinessAccount. Manage credits and debits from these accounts through an ATM-style program. Patient / Doctor Scheduler - Create a patient class and a doctor class. Have a doctor that can handle multiple patients and set up a scheduling program where a doctor can only handle 16 patients during an 8 hr workday. Recipe Creator and Manager - Create a recipe class with ingredients and put them in a recipe manager program that organizes them into categories like desserts, main courses, or by ingredients like chicken, beef, soups, pies, etc. Image Gallery - Create an image abstract class and then a class that inherits from it for each image type. Put them in a program that displays them in a gallery-style format for viewing. Shape Area and Perimeter Classes - Create an abstract class called Shape and then inherit from it other shapes like diamond, rectangle, circle, triangle, etc. Then have each class override the area and perimeter functionality to handle each shape type. Flower Shop Ordering To Go - Create a flower shop application that deals in flower objects and use those flower objects in a bouquet object which can then be sold. Keep track of the number of objects and when you may need to order more. Family Tree Creator - Create a class called Person which will have a name, when they were born, and when (and if) they died. Allow the user to create these Person classes and put them into a family tree structure. Print out the tree to the screen. Threading Create A Progress Bar for Downloads - Create a progress bar for applications that can keep track of a download in progress. The progress bar will be on a separate thread and will communicate with the main thread using delegates. Bulk Thumbnail Creator - Picture processing can take a bit of time for some transformations. Especially if the image is large. Create an image program that can take hundreds of images and converts them to a specified size in the background thread while you do other things. For added complexity, have one thread handling re-sizing, have another bulk renaming of thumbnails, etc. Web Page Scraper - Create an application that connects to a site and pulls out all links, or images, and saves them to a list. Optional: Organize the indexed content and don’t allow duplicates. Have it put the results into an easily searchable index file. Online White Board - Create an application that allows you to draw pictures, write notes and use various colors to flesh out ideas for projects. Optional: Add a feature to invite friends to collaborate on a whiteboard online. Get Atomic Time from Internet Clock - This program will get the true atomic time from an atomic time clock on the Internet. Use any one of the atomic clocks returned by a simple Google search. Fetch Current Weather - Get the current weather for a given zip/postal code. Optional: Try locating the user automatically. Scheduled Auto Login and Action - Make an application that logs into a given site on a schedule and invokes a certain action and then logs out. This can be useful for checking webmail, posting regular content, or getting info for other applications and saving it to your computer. E-Card Generator - Make a site that allows people to generate their own little e-cards and send them to other people. Do not use Flash. Use a picture library and perhaps insightful mottos or quotes. Content Management System - Create a content management system (CMS) like Joomla, Drupal, PHP Nuke, etc. Start small. Optional: Allow for the addition of modules/addons. Web Board (Forum) - Create a forum for you and your buddies to post, administer and share thoughts and ideas. CAPTCHA Maker - Ever see those images with letters numbers when you signup for a service and then ask you to enter what you see? It keeps web bots from automatically signing up and spamming. Try creating one yourself for online forms. Files Quiz Maker - Make an application that takes various questions from a file, picked randomly, and puts together a quiz for students. Each quiz can be different and then reads a key to grade the quizzes. Sort Excel/CSV File Utility - Reads a file of records, sorts them, and then writes them back to the file. Allow the user to choose various sort style and sorting based on a particular field. Create Zip File Maker - The user enters various files from different directories and the program zips them up into a zip file. Optional: Apply actual compression to the files. Start with Huffman Algorithm. PDF Generator - An application that can read in a text file, HTML file, or some other file and generates a PDF file out of it. Great for a web-based service where the user uploads the file and the program returns a PDF of the file. Optional: Deploy on GAE or Heroku if possible. Mp3 Tagger - Modify and add ID3v1 tags to MP3 files. See if you can also add in the album art into the MP3 file’s header as well as other ID3v2 tags. Code Snippet Manager - Another utility program that allows coders to put in functions, classes, or other tidbits to save for use later. Organized by the type of snippet or language the coder can quickly lookup code. Optional: For extra practice try adding syntax highlighting based on the language. Databases SQL Query Analyzer - A utility application in which a user can enter a query and have it run against a local database and look for ways to make it more efficient. Remote SQL Tool - A utility that can execute queries on remote servers from your local computer across the Internet. It should take in a remote host, user name, and password, run the query and return the results. Report Generator - Create a utility that generates a report based on some tables in a database. Generates sales reports based on the order/order details tables or sums up the day's current database activity. Event Scheduler and Calendar - Make an application that allows the user to enter a date and time of an event, event notes, and then schedule those events on a calendar. The user can then browse the calendar or search the calendar for specific events. Optional: Allow the application to create re-occurrence events that reoccur every day, week, month, year, etc. Budget Tracker - Write an application that keeps track of a household’s budget. The user can add expenses, income, and recurring costs to find out how much they are saving or losing over a period of time. Optional: Allow the user to specify a date range and see the net flow of money in and out of the house budget for that time period. TV Show Tracker - Got a favorite show you don’t want to miss? Don’t have a PVR or want to be able to find the show to then PVR it later? Make an application that can search various online TV Guide sites, locate the shows/times/channels and add them to a database application. The database/website then can send you email reminders that a show is about to start and which channel it will be on. Travel Planner System - Make a system that allows users to put together their own little travel itinerary and keep track of the airline/hotel arrangements, points of interest, budget, and schedule. Graphics and Multimedia Slide Show - Make an application that shows various pictures in a slide show format. Optional: Try adding various effects like fade in/out, star wipe, and window blinds transitions. Stream Video from Online - Try to create your own online streaming video player. Mp3 Player - A simple program for playing your favorite music files. Add features you think are missing from your favorite music player. Watermarking Application - Have some pictures you want copyright protected? Add your own logo or text lightly across the background so that no one can simply steal your graphics off your site. Make a program that will add this watermark to the picture. Optional: Use threading to process multiple images simultaneously. Turtle Graphics - This is a common project where you create a floor of 20 x 20 squares. Using various commands you tell a turtle to draw a line on the floor. You have moved forward, left or right, lift or drop the pen, etc. Do a search online for "Turtle Graphics" for more information. Optional: Allow the program to read in the list of commands from a file. GIF Creator A program that puts together multiple images (PNGs, JPGs, TIFFs) to make a smooth GIF that can be exported. Optional: Make the program convert small video files to GIFs as well. Security Caesar cipher - Implement a Caesar cipher, both encoding, and decoding. The key is an integer from 1 to 25. This cipher rotates the letters of the alphabet (A to Z). The encoding replaces each letter with the 1st to 25th next letter in the alphabet (wrapping Z to A). So key 2 encrypts "HI" to "JK", but key 20 encrypts "HI" to "BC". This simple "monoalphabetic substitution cipher" provides almost no security, because an attacker who has the encoded message can either use frequency analysis to guess the key, or just try all 25 keys.
ArmaanSeth
A multi-pdf chatbot based on RAG architecture, allows users to upload multiple pdfs and ask questions from them.
aniketpotabatti
Streamlit application that allows users to upload multiple PDF files, ask questions about the content of the PDFs, and receive answers based on the provided context.
egen
Web based chatbot that uses LLM to ask questions about multiple resumes uploaded as PDFs
jorge-armando-navarro-flores
This script is a chat application that allows users to ask questions about multiple PDF documents implemented with meta's LLAMA2
nikhilsbuilds
The QnAi Chat App is a Python application designed for conversing with multiple PDF documents. Using natural language, you can ask questions about the PDFs, and the app will generate relevant responses based on the document content. Live working Project - https://qnai-ask2pdf.streamlit.app | Login credentials: ID - "Nikhil" | Password - "iamadmin"
valentindush
Ask questions about multiple pdf files at once.
gon-martinam
Interact with multiple PDFs via an AI chatbot! Upload your documents, ask questions, and get intelligent, real-time responses based on the PDF content.
Uni-Creator
A RAG (Retrieval-Augmented Generation) AI chatbot that allows users to upload multiple document types (PDF, DOCX, TXT, CSV) and ask questions about the content. Built using LangChain, Hugging Face embeddings, and Streamlit, it enables efficient document search and question answering using vector-based retrieval. 🚀
ShashankGupta10
This project is a generative AI chatbot that specializes in extracting and comprehending information from PDF documents. It allows users to upload multiple PDF files, trains on the content of those documents, and enables them to ask questions or make queries related to the PDFs' content.
ktczakutnyi
WGU-Software-I-C482 COMPETENCIES 430.02.05 : Classes and Interfaces The graduate designs software solutions with appropriate classes, objects, methods, and interfaces to achieve specific goals. 430.02.06 : Object-Oriented Principles The graduate implements object-oriented design principles (e.g., inheritance, encapsulation, and abstraction) in developing applications for ensuring the application’s scalability. 430.02.07 : Application Development The graduate produces applications using Java programming language constructs to meet business requirements. 430.02.08 : Exception Handling The graduate incorporates simple exception handling in application development for improving user experience and application stability. 430.02.09 : User Interface Development The graduate develops user interfaces to meet project requirements. INTRODUCTION Throughout your career in software design and development, you will be asked to create applications with various features and functionality based on business requirements. For this assessment, you will create a Java desktop application using the solution statements provided in the requirements section of this assessment. The skills you showcase in your completed application will be useful in responding to technical interview questions for future employment. This application may also be added to your portfolio to show to future employers. The preferred integrated development environment (IDE) for this assignment is NetBeans version 11.1 or later or IntelliJ IDEA (Community Edition). Use the links in the web links section of this assessment to install one of these IDEs. If you choose to use another IDE, you must export your project into NetBeans 11.1 or later or IntelliJ IDEA format or your submission will be returned. This assessment also requires the following software: JDK 11 and JavaFX SDK or Module (for NetBeans or IntelliJ IDEA), and Scene Builder, which are also available for download in the web links section of this assessment, as well as a video demonstration of the completed application. Your submission should include a zip file with all the necessary code files to compile, support, and run your application. Your submission should also include a folder with descriptive Javadoc comments in the .java files. The zip file submission must keep the project file and folder structure intact for the IDE. In NetBeans, zip your file by going to File > Export Project > To ZIP and click Export. In IntelliJ IDEA, go to File > Export to Zip File and click OK. If you try to zip your project files with an external program, it will include the build files and make the zip files too large for submission. Note: You may receive an error message upon submitting your files because the automated plagiarism detectors will not be able to access the zipped file, but the evaluation team members will run their checks manually when evaluating your submission. SCENARIO You are working for a small manufacturing organization that has outgrown its current inventory system. Members of the organization have been using a spreadsheet program to manually enter inventory additions, deletions, and other data from a paper-based system but would now like you to develop a more sophisticated inventory program. You have been provided with a mock-up of the user interface to use in the design and development of the system (see the attached “Software 1 GUI Mock-Up”) and a class diagram to assist you in your work (see the attached “UML Class Diagram”). The organization also has specific business requirements that must be considered for the application. A systems analyst created the solution statements outlined in the requirements section of this task based on the business requirements. You will use these solution statements to develop your application. REQUIREMENTS Your submission must be your original work. No more than a combined total of 30% of the submission and no more than a 10% match to any one individual source can be directly quoted or closely paraphrased from sources, even if cited correctly. The originality report that is provided when you submit your task can be used as a guide. You must use the rubric to direct the creation of your submission because it provides detailed criteria that will be used to evaluate your work. Each requirement below may be evaluated by more than one rubric aspect. The rubric aspect titles may contain hyperlinks to relevant portions of the course. Tasks may not be submitted as cloud links, such as links to Google Docs, Google Slides, OneDrive, etc., unless specified in the task requirements. All other submissions must be file types that are uploaded and submitted as attachments (e.g., .docx, .pdf, .ppt). I. User Interface A. Create a JavaFX application with a graphical user interface (GUI) based on the attached “Software 1 GUI Mock-Up.” You may use JavaFX with or without FXML to create your GUI, or you may use Scene Builder to create your FXML file; use of Swing is not permitted. The user interface (UI) should closely match the organization of the GUI layout and contain all UI components (buttons, text fields, etc.) in each of the following GUI mock-up forms: 1. Main form 2. Add Part form 3. Modify Part form 4. Add Product form 5. Modify Product form Note: You may use one FXML file for forms with an identical UI component structure. You may also use a single window that can be switched to a different menu, or a new window can be launched for each form. As of JDK 11, JavaFX is no longer included in the JDK API but is available as an SDK or module. B. Provide Javadoc comments for each class member throughout the code, and include a detailed description of the following in your comments: • a logical or runtime error that you corrected in the code and how it was corrected • a future enhancement that would extend the functionality of the application if it were to be updated Note: For these comments to accurately export to the Javadoc comments, please add the logical and runtime error comments in the method header declaration comments where the error that was corrected occurred, and include the future enhancement comments in the comments of the main class. Please start these comments with “RUNTIME ERROR” or “FUTURE ENHANCEMENT” as applicable. II. Application C. Create classes with data and logic that map to the UML class diagram and include the supplied Part class provided in the attached “Part.java.” Do not alter the provided class. Include all the classes and members as shown in the UML diagram. Your code should demonstrate the following: • inheritance • abstract and concrete classes • instance and static variables • instance and static methods D. Add the following functionalities to the Main form: 1. The Parts pane • The Add button under the Parts TableView opens the Add Part form. • The Modify button under the Parts TableView opens the Modify Part form. • The Delete button under the Parts TableView deletes the selected part from the Parts TableView or displays a descriptive error message in the UI or in a dialog box if a part is not deleted. • When the user searches for parts by ID or name (partial or full name) using the text field, the application displays matching results in the Parts TableView. (Including a search button is optional.) If the part or parts are found, the application highlights a single part or filters multiple parts. If the part is not found, the application displays an error message in the UI or in a dialog box. • If the search field is set to empty, the table should be repopulated with all available parts. 2. The Products pane • The Add button under the Products TableView opens the Add Product form. • The Modify button under the Products TableView opens the Modify Product form. • The Delete button under the Products TableView deletes the selected product (if appropriate) from the Products TableView or displays a descriptive error message in the UI or in a dialog box if a product is not deleted. • When the user searches for products by ID or name (partial or full name) using the text field, the application displays matching results in the Products TableView. (Including a search button is optional.) If a product or products are found, the application highlights a single product or products or filters multiple products. If a product or products are not found, the application displays an error message in the UI or in a dialog box. • If the search field is set to empty, the table should be repopulated with all available products. Note: A product’s associated parts can exist independent of current inventory of parts. You are not required to display sample data upon launching your application. You do not need to save your data to a database or a file; data for this application is nonpersistent and will reside in computer memory while in use. 3. Exit button • The Exit button closes the application. E. Add the listed functionalities to the following parts forms: 1. The Add Part form • The In-House and Outsourced radio buttons switch the bottom label to the correct value (Machine ID or Company Name). • The application auto-generates a unique part ID. The part IDs can be, but do not need to be, contiguous. - The part ID text field must be disabled. • The user should be able to enter a part name, inventory level or stock, a price, maximum and minimum values, and company name or machine ID values into active text fields. • After saving the data, users are automatically redirected to the Main form. • Canceling or exiting this form redirects users to the Main form. 2. The Modify Part form • The text fields populate with the data from the chosen part. • The In-House and Outsourced radio buttons switch the bottom label to the correct value (Machine ID or Company Name) and swap In-House parts and Outsourced parts. When new objects need to be created after the Save button is clicked, the part ID should be retained. • The user can modify data values in the text fields sent from the Main form except the part ID. • After saving modifications to the part, the user is automatically redirected to the Main form. • Canceling or exiting this form redirects users to the Main form. F. Add the following functionalities to the following product forms: 1. The Add Product form • The application auto-generates a unique product ID. The product IDs can be, but do not need to be, contiguous. - The product ID text field must be disabled and cannot be edited or changed. • The user should be able to enter a product name, inventory level or stock, a price, and maximum and minimum values. • The user can search for parts (top table) by ID or name (partial or full name). If the part or parts are found, the application highlights a single part or filters multiple parts. If the part or parts are not found, the application displays an error message in the UI or in a dialog box. • If the search field is set to empty, the table should be repopulated with all available parts. • The top table should be identical to the Parts TableView in the Main form. • The user can select a part from the top table. The user then clicks the Add button, and the part is copied to the bottom table. (This associates one or more parts with a product.) • The Remove Associated Part button removes a selected part from the bottom table. (This dissociates or removes a part from a product.) • After saving the data, the user is automatically redirected to the Main form. • Canceling or exiting this form redirects users to the Main form. Note: When a product is deleted, so can its associated parts without affecting the part inventory. The Remove Associated Part button removes a selected part from the bottom table. (This dissociates or removes a part from a product.) 2. The Modify Product form • The text fields populate with the data from the chosen product, and the bottom TableView populates with the associated parts. • The user can search for parts (top table) by ID or name (partial or full name). If the part or parts are found, the application highlights a single part or filters multiple parts. If the part is not found, the application displays an error message in the UI or a dialog box. • If the search text field is set to empty, the table should be repopulated with all available parts. • The top table should be identical to the Parts TableView in the Main form. • The user may modify or change data values. - The product ID text field must be disabled and cannot be edited or changed. • The user can select a part from the top table. The user then clicks the Add button, and the part is copied to the bottom table. (This associates one or more parts with a product.) • The user may associate zero, one, or more parts with a product. • The user may remove or disassociate a part from a product. • After saving modifications to the product, the user is automatically redirected to the Main form. • Canceling or exiting this form redirects users to the Main form. Note: The Remove Associated Part button removes a selected part from the bottom table. (This dissociates or removes a part from a product.) G. Write code to implement input validation and logical error checks using a dialog box or message in the UI displaying a descriptive error message for each of the following circumstances: • Min should be less than Max; and Inv should be between those two values. • The user should not delete a product that has a part associated with it. • The application confirms the “Delete” and “Remove” actions. • The application will not crash when inappropriate user data is entered in the forms; instead, error messages should be generated. H. Provide a folder containing Javadoc files that were generated from the IDE or via the command prompt from part B. In a comment above the main method header declaration, please specify where this folder is located. I. Demonstrate professional communication in the content and presentation of your submission. File Restrictions File name may contain only letters, numbers, spaces, and these symbols: ! - _ . * ' ( ) File size limit: 200 MB File types allowed: doc, docx, rtf, xls, xlsx, ppt, pptx, odt, pdf, txt, qt, mov, mpg, avi, mp3, wav, mp4, wma, flv, asf, mpeg, wmv, m4v, svg, tif, tiff, jpeg, jpg, gif, png, zip, rar, tar, 7z
manyuzhang1996
Ask Manyu App to let users chat with multiple PDFs. Built with LangChain, OpenAI, Streamlit.
mshaadk
A Streamlit application that allows users to interact with the content of multiple PDF files using Google's Gemini Model. This chatbot extracts text from PDF documents, processes it, and enables users to ask questions based on the content of the uploaded PDFs.
dianaow
This application lets you load multiple PDF documents to construct a Knowledge Graph and embed it into Neo4j so you can ask questions about its contents and have the LLM answer them using vector similarity search and graph traversal
Saieiei
LawGPT is a Streamlit app that leverages OpenAI's GPT model for legal question answering. Upload multiple PDFs, ask your legal questions, and receive detailed answers based on the document content. With a user-friendly interface, LawGPT simplifies legal research and analysis. Run the script to start using the app in your browser.
windyguo2046
Task Your task in this assignment is to aggregate the data found in the Citi Bike Trip History Logs to build a data dashboard, story, or report. You may work with a timespan of your choosing. If you're really ambitious, you can merge multiple datasets from different periods. Try to provide answers to the following questions: How many trips have been recorded total during the chosen period? By what percentage has total ridership grown? How has the proportion of short-term customers and annual subscribers changed? What are the peak hours in which bikes are used during summer months (for whatever year of data you selected)? What are the peak hours in which bikes are used during winter months (for whatever year of data you selected)? What are the top 10 stations in the city for starting a journey? (Based on data, why do you hypothesize these are the top locations?) What are the top 10 stations in the city for ending a journey? (Based on data, why?) What are the bottom 10 stations in the city for starting a journey? (Based on data, why?) What are the bottom 10 stations in the city for ending a journey (Based on data, why?) What is the gender breakdown of active participants (Male v. Female)? How does the average trip duration change by age? What is the average distance in miles that a bike is ridden? Which Bikes (by ID) are most likely due for repair or inspection this year? How variable is the utilization by bike ID? Additionally, city officials would like to see the following visualizations: A static map that plots all bike stations with a visual indication of the most popular locations to start and end a journey with zip code data overlaid on top. A dynamic map that shows how each station's popularity changes over time (by month and year) -- with commentary pointing to any interesting events that may be behind these phenomena. Lastly, as a chronic over-achiever, you must also: Find at least two unexpected phenomena in the data and provide a visualization and analysis to document their presence. Considerations Remember, the people reading your analysis will NOT be data analysts. Your audience will be city officials, public administrators, and heads of New York City departments. Your data and analysis needs to be presented in a way that is focused, concise, easy-to-understand, and visually compelling. Your visualizations should be colorful enough to be included in press releases, and your analysis should be thoughtful enough for dictating programmatic changes. Assessment Your final product will be assessed on the following metrics: Completeness of Analysis Analytic Rigor Readability Visual Attraction Professionalism Hints You may need to get creative in how you combine each of the CSVs. Don't just assume Tableau is the right tool for the job. At this point, you have a wealth of technical skills and research abilities. Dig for an approach that works and just go with it. Don't just assume the CSV format hasn't changed since 2013. Subtle changes to the formats in any of your columns can blockade your analysis. Ensure your data is consistent and clean throughout your analysis. (Hint: Start and End Time change at some point in the history logs). Consider building your dashboards with small extracts of the data (i.e. single files) before attempting to import the whole thing. What you will find is that importing all 20+ million records of data will create performance issues quickly. Welcome to "Big Data". While utilizing all of the data may seem like a nice power play, consider the time-course in making your analysis. Is data from 2013 the most relevant for making bike replacement decisions today? Probably not. Don't let overwhelming data fool you. Ground your analysis in common sense. Remember, data alone doesn't "answer" anything. You will need to accompany your data visualizations with clear and directed answers and analysis. As is often the case, your clients are asking for a LOT of answers. Be considerate about their need-to-know and the importance of not "cramming in everything". Of course, answer each question, but do so in a way that is organized and presentable. Since this is a project for the city, spend the appropriate time thinking through decisions on color schemes, fonts, and visual story-telling. The Citi Bike program has a clear visual footprint. As a suggestion, look for ways to have your data visualizations match their aesthetic tones. Pay attention to labels. What exactly is "time duration"? What's the value of "age of birth"? You will almost certainly need calculated fields to get what you need. Keep a close eye for obvious outliers or false data. Not everyone who signs up for the program is answering honestly. In answering the question of "why" a phenomena is happening, consider adding other pieces of information on socioeconomics or other geographic data. Tableau has a map "layer" feature that you may find handy. Don't be afraid to manipulate your data and play with settings in Tableau. Tableau is meant to be explored. We haven't covered all that you need -- so you will need to keep an eye out for new tricks. The final "format" of your deliverable is up to you. It can be an embedded Tableau dashboard, a Tableau Story, a Tableau visualization + PDF -- you name it. The bottom line is: This is your story to tell. Use the medium you deem most effective. (But you should definitely be using Tableau in some way!) Treat this as a serious endeavor! This is an opportunity to show future employers that you have what it takes to be a top-notch analyst.
AbdullahMansoor123
No description available
anaghrajdev007
A multi-pdf chatbot based on RAG architecture, allows users to upload multiple pdfs and ask questions from them.
rchakraa
PDF chatbot using Qwen 3-0.6B model. Upload multiple PDFs and ask questions about their content with conversational memory, vector search, and source document references. Built with Streamlit, LangChain, and Pinecone.
saurabhbhandariii
A Python application that lets you chat with multiple loaded PDF documents. It uses a language model to generate embeddings, performs semantic similarity to find relevant content, and responds with answers drawn from the PDFs. Load several PDFs, ask questions in natural language, and get content-driven responses.
SudharshanAIML
Upload multiple PDF and DOCX files and ask natural-language questions. The system retrieves relevant content and generates accurate answers using a Retrieval-Augmented Generation (RAG) pipeline
GorgeGJ
This is a local Generative AI app powered by Ollama, LangChain, and Streamlit that allows you to: upload multiple PDF and ask natural language questions across all documents
sumitghugare
An intelligent Retrieval-Augmented Generation (RAG) based application that allows users to upload multiple PDF documents and ask questions to get accurate, context-aware answers — all powered by a locally hosted language model.
hamzajakouk
The MultiPDF Chat App is a Python application that allows you to chat with multiple PDF documents. You can ask questions about the PDFs using natural language, and the application will provide relevant responses based on the content of the documents. This app utilizes a language model to generate accurate answers to your queries.
Deepakkushawaha
This project is an AI-powered chatbot that reads and understands PDF documents in multiple languages. Users can upload any PDF, ask questions related to its content, and get accurate answers in real-time. It uses Natural Language Processing (NLP) and text embeddings to understand context and support multilingual queries and responses.
Shivyadav007
• Made an interface using LangChain through which user can ask questions from the context of multiple PDF files • Integrating pretrained HuggingFace and OpenAI LLMs, fine-tuning the model with tokenized PDF file data • Creating a Web interface using Streamlit where user can upload the files and a user-friendly interface for Chatting
Assignment Introduction You work in a small business named Dublin Computer School (DCS) who are a small college specializing in IT training that were established 15 years ago. You work as the IT intern and you report into the Infrastructure Manager. The company has a total of twenty full-time staff members. The business is home grown in Dublin and the organization is expanding rapidly both in Dublin and in many sites around Ireland (due to open a training site in Galway, Limerick, Athlone, Cork and Sligo with another ten staff to be recruited shortly). There is a small on premises data centre in the Dublin office (currently it is a small room in the basement but doesn’t have any specialist equipment such as UPS or additional links). It mainly composed of a flat network with just the bare minimum to support the current users. The infrastructure manager predicts that by December 2019, they will have on average 500 users on the Dublin network at any given time during the day. DCS now require a new Moodle system for all training resources and a CRM system for the Marketing department to help advertise and attract students to the college. The infrastructure manager wishes to have all servers to be placed in the data centre on site in the Dublin headquarters. The managing director has given a modest budget for a new data centre to house the new servers and it will need to be built for reliability and availability. They would like to achieve five nines availability across their infrastructure and servers. The infrastructure manager has asked you to evaluate data centres in areas such as security, availability along with other key factors. Part 1: Conduct an individual research report: You will need to create a 1500 word (+/- 10%) research report illustrating the importance of on-premises small data centres today and the potential of housing the businesses critical data for these departments and students to access. Your report should include sections on the following: a) Design and plan for high availability of data for DCS in a new on–premises small data centre in the Dublin office. b) Make recommendations on how security of data (both physical and virtual) can be enforced to best practices in the new on-premises data centre. Make recommendations on how to meet mission critical standards such as five nines for DCS. c) Recommend strategies to migrate existing networks to a fault tolerant infrastructure. As the college is now increasing year on year they need to have a network that can scale and is resilient. IMPORTANT NOTE: Use references (both text and images) in each of the above to help backup the points you make. Note the Harvard referencing system should be used. For each of the above, ensure to keep cognisant the importance of data to the college and why each of the above are required for sending/storing critical data for DCS in today’s digital world. (Part 1: 40 marks) Part 2: Append in your submission in part 1, an individual contribution report (max 300 words): Answer these questions after completing parts 3 & 4 below: i. What parts did you participate in for Parts 3 and 4 below. ii. What did you learn from working within a team? iii. What would you do differently if you had to build it again? iv. What did you find most difficult to implement or understand. v. What do you wish you could have implemented if you had more time? Any other thoughts? (Part 2: 5 marks) Part 3: Group - Design and implement a network using Packet Tracer to Model the following network: Include TWO networks – the Dublin HQ and the Galway office. In the main Dublin office implement the following: a) Create different VLANs (at least 4 VLANs – name these with relevant departments e.g. SALES, MARKETING etc) b) Implement inter-VLAN communication between all of these VLANs. c) Implement rapid spanning tree between switches. d) Show evidence of Etherchannel being implemented (add links to implement this)-ensure the root bridge is in a suitable position in the network. e) Configure a highly available secure wireless access for a GUEST wifi network in the main Dublin office. Show evidence of these PC’s connecting to the network (ensure that PC’s connect using DHCP). On the WAN: f) The organization requires you to create a WAN network bridging across their different sites. Each site has a WAN connection and all other sites will need to be connected e.g. Cork, Limerick, Athlone. The IT infrastructure manager has specified your main concern is the interconnection of Dublin and Galway sites but you are required to route through other sites to connect Dublin to Galway. Create a WAN network using private addresses from the 10.0.0.0 network which must provide connectivity to the Galway office. This WAN network will include a redundant path from the Dublin office through the Sligo office to Galway. However, this redundant path is known to have a slow connection. g) Utilizing a routing protocol of your choice to ensure all Dublin HQ PC’s can communicate with the Galway branch. (note more points will be awarded for ability to demonstrate control of traffic through the network). Ensure that the main gateway router can be managed remotely from the Dublin site using a secure protocol (SSH protocol). In the Galway office: h) Create a small LAN in the Galway office showing at least 2 switches and multiple PC’s. i) Implement HSRP and provide redundant default gateways for end-user devices within the network if one of the routers fails. j) Ensure all PCs in the Galway office can communicate with PC’s / servers in the Dublin’s office. (Part 3: 40 marks) Part 4: Group Justification Report Justify the design choices you made in Part 3. Use screen shots to provide key samples of why you did things for your implemented parts a) – j) (in part 3 above). Note: Five additional marks can be scored if other best practice configuration and security is completed in part 3 and documented in part 4. (Part 4: 15 marks) Your submission must be your own work and once completed, must be uploaded to Moodle within the time frame above. Any student found breaking College regulations will receive zero marks. Copying and pasting large sections of text directly from web sites is NOT permitted and will result in zero marks awarded. Read the assignment carefully and answer the questions that have been asked. Specific Requirements • For report sections: create using MS Word OR similar software and upload as a PDF document. Each member to upload group Packet Tracer file. • You will need to supply the following: • Individual report – Part A • Individual contribution / reflection – Part B • Group Packet Tracer file – Part C • Group Justification report – Part D
Ahmed-cherif
The MultiPDF Chat App is a Python application that allows you to chat with multiple PDF documents. You can ask questions about the PDFs using natural language, and the application will provide relevant responses based on the content of the documents. This app utilizes a language model to generate accurate answers to your queries.
djpapzin
The MultiPDF Chat App is a Python application that allows you to chat with multiple PDF documents.