Skip to content

Commit e4dd846

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 4be6c3f + 10d72f4 commit e4dd846

1 file changed

Lines changed: 144 additions & 6 deletions

File tree

README.md

Lines changed: 144 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,148 @@
1-
Nice code made by me
2-
A simple computer simulation
1+
# 💻 Computer Application Manager (Java)
32

4-
u can login with existing User and Password
3+
A simple **Java desktop application** that simulates managing computer applications, including games, social apps, and utility apps.
54

6-
User : Emily
5+
The project demonstrates **OOP concepts**, **inheritance**, **serialization**, and **basic data persistence** using Java.
76

8-
Pass : Suzy
7+
---
98

10-
hope this code help you in your project
9+
## ✨ Features
10+
11+
- User login system
12+
- App installation and uninstallation
13+
- Multiple app types:
14+
- Game applications
15+
- Social applications
16+
- Utility applications
17+
- App information display
18+
- Persistent data storage using serialization (`.ser` files)
19+
20+
---
21+
22+
## 🧱 Project Structure
23+
24+
```
25+
ComputerSim/
26+
├── .idea/
27+
├── out/
28+
├── src/
29+
│ ├── Controller/
30+
│ │ ├── Apps/
31+
│ │ │ ├── AppFactory.java
32+
│ │ │ └── Apps.java
33+
│ │ └── Data/
34+
│ │ └── DataHandler.java
35+
│ │
36+
│ ├── Models/
37+
│ │ ├── ComputerApp.java
38+
│ │ ├── GameApp.java
39+
│ │ ├── SocialApp.java
40+
│ │ ├── UtilityApp.java
41+
│ │ └── UserProfile.java
42+
│ │
43+
│ ├── View/
44+
│ │ ├── Menus/
45+
│ │ │ ├── LoginMenuGUI.java
46+
│ │ │ └── MainMenuGUI.java
47+
│ │ └── SideMenu/
48+
│ │ ├── DisplayInstalledAppsGUI.java
49+
│ │ ├── InstallAppMenuGUI.java
50+
│ │ ├── LoginAndRegister.java
51+
│ │ └── UninstallAppMenuGUI.java
52+
│ │
53+
│ └── Main.java
54+
55+
├── apps.ser
56+
└── userdata.ser
57+
```
58+
59+
60+
---
61+
62+
## 🧠 Architecture Overview
63+
64+
- **Models**
65+
Core data classes representing applications and users.
66+
67+
- **Controller**
68+
- `Apps` → application management logic
69+
- `AppFactory` → app object creation
70+
- `DataHandler` → serialization & persistence
71+
72+
- **View**
73+
- `Menus` → login & main menu UI
74+
- `SideMenu` → install, uninstall, and app display UI
75+
76+
- **Persistence**
77+
- `apps.ser` → stored application data
78+
- `userdata.ser` → stored user credentials
79+
80+
### Application Model System
81+
82+
- `ComputerApp` is the base class
83+
- Specialized apps extend it:
84+
- `GameApp`
85+
- `SocialApp`
86+
- `UtilityApp`
87+
- Each app stores:
88+
- Name
89+
- Size
90+
- Installation status
91+
- Type-specific data
92+
93+
---
94+
95+
### 2️⃣ User System
96+
97+
- User credentials are stored in `UserProfile`
98+
- Supports:
99+
- User registration
100+
- Login validation
101+
- Credentials are saved locally using serialization
102+
103+
---
104+
105+
### 3️⃣ Data Persistence
106+
107+
- Uses Java **Object Serialization**
108+
- Saved files:
109+
- `userdata.ser` → user accounts
110+
- `apps.ser` → installed applications
111+
- Data is automatically loaded on program startup
112+
113+
---
114+
115+
## 🚀 How to Run
116+
117+
1. Open the project in an IDE (IntelliJ IDEA recommended)
118+
2. Run `Main.java`
119+
3. Log in or create a new user
120+
4. Manage applications via the GUI
121+
122+
---
123+
124+
## 🛠️ Technical Details
125+
126+
- Language: **Java**
127+
- Paradigm: **Object-Oriented Programming**
128+
- Data Storage: **Serialization (`ObjectInputStream / ObjectOutputStream`)**
129+
- UI: **Java GUI (Swing/AWT based)**
130+
131+
---
132+
133+
## 📌 Learning Objectives
134+
135+
This project demonstrates:
136+
137+
- Inheritance and polymorphism
138+
- Encapsulation and abstraction
139+
- Java serialization
140+
- Basic MVC-style separation
141+
- GUI-driven application flow
142+
143+
---
144+
145+
## 📜 License
146+
147+
This project is intended for **educational purposes**.
148+
Feel free to modify or extend it for learning and practice.

0 commit comments

Comments
 (0)