Loopin is a modern Java-based social media desktop application built entirely using pure Java Swing, without any external front-end frameworks.
The goal of this project is to demonstrate how a feature-rich, visually polished, database-driven application can be developed using core Java concepts.
Unlike typical student projects limited to console output or basic UI windows, Loopin delivers a real social media–style experience with clean UI, modular architecture, and MySQL integration.
Loopin focuses on helping users:
- Connect with people
- Share updates and posts
- Loop the conversation through a continuous feed
This project demonstrates the entire flow of a real platform — login, profile, posting, feeds, alerts, UI components, and database connectivity.
Loopin goes beyond basic Java applications by offering:
- A complete authentication system
- Custom-built UI components
- A modular MVC-style architecture
- Reusable utility and helper classes
- A modern, polished Swing UI
It proves that Java Swing, when designed properly, can feel interactive, clean, and professional.
- Create Account – Sign up with user details
- Login System – Secure authentication via MySQL
- Home Feed – Displays posts of the logged-in user
- Post Creation – Create and publish text posts
- Profile Section
- Profile picture support
- Display name
- Logout functionality
- Clean and minimalistic layout
- Custom rounded text areas
- Custom JButtons with hover effects
- Gradient headers and panels
- Custom alert pop-ups
- Smooth interactive components
- Proper spacing, padding, and alignment
- MySQL integration using
mysql-connector-j-9.5.0.jar - Tables:
usersposts
- JDBC-based database handling
- Queries for:
- Login & signup
- Post creation
- Data retrieval
- Profile updates
- Reusable database connection handler
Loopin │ ├── src/ │ ├── Main.java → Application entry point │ ├── View/ → UI screens & custom components │ ├── Controller/ → Business logic & actions │ ├── Model/ → Database models & queries │ ├── Utils/ → Constants, themes, helpers │ ├── lib/ │ └── mysql-connector-j-9.5.0.jar │ ├── assets/ │ └── screenshot.png │ └── README.md
markdown Copy code
This structure ensures the application is:
- Clean
- Maintainable
- Scalable
- Easy to extend
Main.javalaunches- Database connection is initialized
- Login screen is displayed
- User credentials are validated using MySQL
- Successful login loads the Home screen
- Displays user posts
- Allows new post creation
- Handles navigation
- Shows profile image and name
- Logout functionality
User Action → Controller → Model → View
yaml Copy code
This clean separation keeps UI, logic, and database layers independent.
- Java 17+
- MySQL Server
- MySQL Workbench (optional)
- IDE: VS Code / IntelliJ / Eclipse
Only two commands are required.
1️⃣ Compile
- javac -cp "lib/mysql-connector-j-9.5.0.jar" (Get-ChildItem -Recurse -Filter *.java | ForEach-Object { $_.FullName })
2️⃣ Run
- java -cp "lib/mysql-connector-j-9.5.0.jar;." Main
🔮 Future Enhancements
- Image-based posts
- Friend requests
- Messaging system
- Emoji reactions
- Profile editing
- Dark mode
💻 Tech Stack
- Frontend: Java Swing
- Backend: Java JDBC
- Database: MySQL
- UI Styling: Custom graphics, gradients, rounded components
- JAR: mysql-connector-j-9.5.0.jar
🧑💻 Developer Made with ❤️ by Ruusheka Focused on building clean, interactive Java UI projects.
