ReadersSpace is a social media app designed and developed for readers to discover fellow readers and new books. With a Twitter like experience, users can create, update or delete posts. They can include emjois or an image to the posts as well. The explore and user feed have an enhanced use experience using infinite loader. Users can also add, delete, edit, and view comments on any posts. Users can add posts to/ remove posts from bookmarks.
Discover other users either by the suggestions sidebar or by searching via the search bar. The search bar is optimised using debouncing and matches for username, or names are displayed. User can view others' profile and edit their own profile to update information. Additional feature includes theme toggle and responsiveness
Tech Stack
- React
- Redux Toolkit
- React Router DOM v6
- TailwindCSS
- Mock backend with mockBee
- React Toastify
Project Learnings
- Optimised search performance using debouncing.
- Enhanced user experience with frontend infinite loader using IntersectionObserver.
- Using Cloudinary to store and fetch images.
- Discovering TailwindCSS features and utility classes.
Project Challenges
- Reusing posts container on all pages and also including comments on the single post view page. Solved this challenge by using useOutletContext.
- Adding outside click features for all dropdowns, modals, and popups.
- Using Redux to maintain states displaying a modal. Solved this by using a single slice that contains information about the state of modal and which modal is currently open.