A Client-Server Database Management System built in Java. It features a custom parser that allows users to execute MSSQL-style commands on a MongoDB backend.
This project was created as a sophomore-year (2nd year) college coursework assignment for the Databases course.
The application bridges the gap between SQL and NoSQL. It allows users familiar with SQL syntax (like SELECT, INSERT) to interact with a MongoDB database through a graphical interface, without needing to write raw MongoDB queries.
The system uses a Client-Server model:
- Client: A Java Swing GUI that accepts user input.
- Server: A Java Socket application that parses the SQL manages computational logic and executes it on MongoDB.
- Language: Java (100%)
- Frontend: Java Swing (GUI)
- Backend: Java Sockets & ServerSocket
- Storage: MongoDB (NoSQL)
- Driver: MongoDB Java Driver
- Java JDK: Version 8 or higher.
- MongoDB: Community Edition (installed locally).
- OS: macOS (Required for the commands below).
Before running the Java application, you must start the MongoDB service via Homebrew.
# Start MongoDB Service
brew services start mongodb-communityDefault Connection: mongodb://localhost:27017
Note: Ensure port 27017 is free.
Because this is a networked application, you must run the components in the specific order below.
Run the backend entry point first. This opens the socket port and connects to Mongo.
- Class:
ServerWindow.java - Action: Run
main()method. - Status: On the UI press start button.
Run the frontend entry point.
- Class:
GUI.java - Action: Run
main()method. - Status: The GUI window will appear.
The system parses SQL-like syntax into MongoDB document operations.
INSERT INTO students (id, name, grade) VALUES (101, 'Odon', 95);SELECT * FROM students WHERE grade > 90;UPDATE students SET grade = 98 WHERE id = 101;DELETE FROM students WHERE id = 101;- Levente Daroczi - levilevente
- Beniamin Demeter - benimester
