Technologies Used

Languages: JavaScript
Frontend: React, Redux, HTML Drag and Drop API, React-Toastify, CSS3, HTML5,
Backend: Node.js, Express, AWS-S3, PostgreSQL, Sequelize
Frameworks and Libraries: Socket.IO

View Friends

Users can easily toggle betteen view friends by months and view all friends by alphabetical order. By month view is default to highlight the current month.

View Friend Wishes

When a friend's birthday is coming up, users can go to their page to check out their public wishes. Click on a gift to see more details including gift images, title, description and resouce link.

Keep Track of Gifts Preparation

With a to-do section in the dashboard page, users can conveniently keep track of gifts preparation. Check the box when the gift has been prepared, sent or delivered.

Create a Wish

Users can fill out the form to create a gift wish. Newly created wish is default to be private.

Manage My Wishes

HTML Drag and Drop API was leveraged to allow users to easily toggle wish status between private and public.

Search and Add Friends

Instant search was enabled while typing. Search results were separated into three groups: incoming/outgoing friend requests, regular users and current friends.

Real-time Notifications

Socket.IO was integrated with Express to enable bidirectional communication between server and client, dramatically improving user experience by facilitating real-time notifications.

Settings

Users can edit personal information and change avatar in settings page.