i-Wish is a desktop application designed to facilitate social gifting among friends. The application allows users to manage their friendships, create wishlists, view friends' wishlists, and contribute towards purchasing items for friends.
-
Registration and Authentication:
- Registration form for new users.
- Sign-in form with password reset functionality.
- User authentication and access control.
-
Friend Management:
- Add and remove friends.
- Send and receive friend requests.
- Accept or decline friend requests.
- View friends list.
-
Wishlist Management:
- Create, update, and delete wishlists.
- View own wishlist.
- View friends' wishlists.
- Add, update, and remove items from wishlist.
-
Item Contribution:
- Contribute money towards buying items from friends' wishlists.
- Notification system for contributors and recipients.
-
Admin Dashboard:
- Start and stop server.
- Manage client connections and requests.
- Database management.
-
Database Management:
- Handle user registration and authentication.
- Manage friendships and wishlists.
- Handle item contributions and notifications.
- User: user ID, username, email, password, balance, date of birth.
- Friendship: user ID, friend ID, status.
- Wishlist: wishlist ID, user ID, name, description.
- Item: item ID, item name, price, description.
- Contribution/Gift: contributor ID, recipient ID, item ID, amount, status.
- User/Friend: many-to-many.
- User/Friend Request: one-to-many.
- User/Wishlist: one-to-one.
- Wishlist/Item: many-to-many.
-
Registration/Sign-in:
- Secure user registration and sign-in.
- Validation and error handling.
-
User Profile Management:
- View wishlist, friends list, and friend requests.
- Edit profile and log out.
-
Friendship:
- Send, accept, and decline friend requests.
- Remove friends from list.
-
Wishlist:
- Create, view, and manage wishlists.
- View friends' wishlists.
-
Item Feed/List:
- View available items.
- Add items to wishlist.
-
Contribution and Notification:
- Contribute money towards gifts.
- Receive notifications for completed contributions.
-
Sign-in/Sign-up:
- Validate user credentials.
- Manage user registration.
-
Wishlist Management:
- Create, update, and delete wishlists.
- Handle item additions and removals.
-
Friendship Management:
- Send and handle friend requests.
- Manage friends list.
-
Contribution and Notification System:
- Handle contributions towards gifts.
- Send notifications for completed contributions.
-
Server Control:
- Start and stop server.
- Monitor client connections.
-
Database Management:
- Manage items, users, and friendships.
- Define entities, attributes, and relationships.
- Implement SQL scripts for database schema.
- Optimize performance using PL/SQL and indexing.
- Registration workflow.
- Sign-in workflow.
- Friend request workflow.
- Wishlist management workflow.
- Item contribution and notification workflow.
- Wishlist management.
- Shopping.
- Friends list.
- Profile settings.