ConnectHub is a social networking web application inspired by Twitter X, designed to connect people and share thoughts, updates, and conversations.
- User Authentication: Secure user registration and authentication system.
- Post Creation: Create and share posts with text and images.
- Follow/Followers: Ability to follow other users and view followers.
- Feed: Personalized feed displaying posts from followed users.
- Likes and Comments: Like and comment on posts.
- Profile Management: View and update user profile details.
-
Frontend:
- React.js with Hooks
- Tailwind CSS
- Axios for HTTP requests
- React Query for state management and data fetching
-
Backend:
- Node.js
- Express.js
- MongoDB (for database)
- JWT (JSON Web Tokens) for authentication
-
Register a new user account:
- Navigate to the registration page.
- Fill out the required information to create a new user account.
-
Log in with your credentials:
- Use your registered email and password to log in to the ConnectHub app.
-
Explore the app features powered by react-query:
-
Data fetching with hooks like useQuery and useMutation:
- Leverage
useQuery
to fetch data from the server and manage state seamlessly. - Utilize
useMutation
to perform data mutations (e.g., create, update, delete) with optimistic updates.
- Leverage
-
Optimistic updates and caching for a responsive user experience:
- Benefit from React Query's built-in caching and automatic refetching to keep data fresh and minimize network requests.
- Experience optimistic updates to provide immediate feedback to users while awaiting server responses.
-
Contributions are welcome! If you have any ideas, improvements, or bug fixes, please feel free to submit a pull request.
-
Fork the repository:
- Click on the "Fork" button at the top right corner of the repository page to create your own copy of the project.
-
Create a new branch (
git checkout -b feature/your-feature-name
):- Choose a descriptive branch name that reflects the feature or improvement you're working on.
-
Make your changes:
- Implement your changes and improvements within the project.
-
Commit your changes (
git commit -am 'Add new feature'
):- Commit your changes with a clear and concise commit message describing the purpose of your changes.
-
Push to the branch (
git push origin feature/your-feature-name
):- Push your changes to the remote repository on GitHub.
-
Open a pull request:
- Navigate to the repository on GitHub.
- Click on the "New pull request" button.
- Select your branch and describe your changes in the pull request.
Note: Please follow the project's code of conduct and guidelines when contributing. Thank you for helping to improve ConnectHub!