Skip to content

About

Java Swing course storefront with admin and user flows, a cart and flat-file storage, built as an AIUB course project.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodingVibes banner

A Java Swing desktop course storefront with admin and user flows, built as an AIUB course project.

Source on GitHub Status academic project MIT licence

Java Swing and AWT Flat-file storage

Overview · Highlights · Preview · Architecture · Tech Stack · Getting Started · Structure · Author

◈ Overview

CodingVibes is a desktop storefront for programming courses, written in plain Java Swing. A visitor picks the Admin or User entry on the landing page, signs up or logs in, browses language courses, fills a cart and walks through a payment screen. Admins get a separate dashboard to add and remove users and add developers.

It is an academic project made for a university course to practise object-oriented design and event-driven GUI programming. Everything commercial is a simulation: there is no real payment, no database and no network access. Accounts live in plain-text files, so it is not a model of secure authentication.

◈ Highlights

Two entry roles
Landing page splits into Admin and User login, plus a user sign-up form.
Course catalogue
Two catalogue pages and a detail window per language (Java, Python, C++, Kotlin, Go and more).
Shopping cart
Add and remove courses; the cart is held in memory for the session.
Simulated payments
Card, bKash, Nagad, Rocket and generic mobile payment screens ending in a confirmation page.
Admin dashboard
Add users, remove users, view registered users and add developers.
Content pages
About us, vision and mission, team, blog, reviews, contact and special services.
Flat-file storage
User and admin records are appended to and read from Data/*.txt with java.io.
Plain Swing, no dependencies
Only the JDK is needed: Swing, AWT and the standard library.
About 7.8k lines
One class per screen across 54 Java files, split into main and interfaces.

◈ Preview

CodingVibes landing screen

User login
User login
Main menu
Main menu
Course catalogue
Course catalogue
Course details
Course details
Shopping cart
Shopping cart
Payment options
Payment options (simulated)
Admin dashboard
Admin dashboard
User management
User management

◈ Architecture

Each screen is a JFrame in the SourceFiles package. Screens open each other directly. The only shared state is a static cart list and the text files under Data/.

flowchart LR
  Start["Start.java"] --> Page["Page (landing)"]
  Page --> UL["UserLogin / UserSignup"]
  Page --> AL["AdminLogin"]
  UL --> Menu["HomePage (main menu)"]
  Menu --> C1["Courses1 / Courses2"]
  C1 --> Det["Language detail screens"]
  Det --> Cart["CartPage (static list)"]
  Cart --> Pay["PaymentOptions"]
  Pay --> P1["Card / bKash / Nagad / Rocket / Mobile"]
  P1 --> Fin["FinishingPage"]
  AL --> Dash["AdminDashboard"]
  Dash --> Add["AddingNewUser / AddingDeveloper"]
  Dash --> Rem["RemoveUserPage / UserInfoPage"]
  UL <--> Files[("Data/User_Data.txt")]
  Add --> Files
  Rem <--> Files
  AL <--> Admin[("Data/Admin_Data.txt")]
  Add --> Admin
Loading

◈ Tech Stack

Layer Technologies Purpose
Language Java (JDK 17 or later recommended) Application logic and OOP structure
GUI Swing and AWT Windows, tables, buttons, event listeners
Storage java.io text files User and admin records under Data/
Assets PNG and JPG in assets/ Backgrounds, logos and language icons
Tooling Any Java IDE IntelliJ IDEA, Eclipse or NetBeans

◈ Getting Started

Prerequisites: a JDK (17 or later is recommended) and an IDE or the javac command line.

git clone https://github.com/Saji-d/codingvibes-java-gui.git
cd codingvibes-java-gui

The screens read images and data files with relative paths, so run from a working directory that contains assets/ and a Data/ folder with User_Data.txt and Admin_Data.txt. The Data/ folder is not tracked in this repository, so create it and add an admin record before using the admin login. Then open the project in your IDE and run the entry point:

src/main/Start.java   (opens the Page landing screen)

The public class in Start.java is declared as start in lower case. If your compiler rejects the file name mismatch, rename the class to Start.

Payments, the cart, reviews, contact details and user data are simulations for learning only.

◈ Project Structure

Source in src/ (one class per screen), with images in assets/ and docs/.

codingvibes-java-gui/
├── assets/            backgrounds, logos, language icons, banner
├── docs/              preview image and README screenshots
├── screenshots/       original full-size screenshots
├── src/
│   ├── interfaces/    login, sign-up and add-user form interfaces
│   └── main/          one class per screen (courses, cart, payments, admin)
├── LICENSE
└── README.md

◈ Author

Sajidur Rahman Sajid: Full-Stack Developer and AI engineer from Dhaka.
BSc in CSE at American International University-Bangladesh (AIUB).

Portfolio LinkedIn GitHub Email

A learning project, shared as it was built. Released under the MIT licence.

About

Java Swing course storefront with admin and user flows, a cart and flat-file storage, built as an AIUB course project.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages