Check out the live demo here
Louligram is a social media (Instagram Clone)built with React, React Context, React Query, Typescript, Tailwind CSS, and Appwrite for the backend. It features a beautiful UI with light and dark themes, user authentication, post creation, profile viewing, following, liking posts, saving posts, and more.
- React
- React Context
- React Query
- Typescript
- Tailwind CSS
- Appwrite
- User Authentication:
- Users can sign up or sign in securely using Appwrite for backend authentication.
- Dynamic Theming:
- The app supports both light and dark themes, providing users with a visually appealing experience.
- Post Interaction:
- Users can create, view, like, and save posts. The app utilizes React Query for efficient data fetching and management.
- User Profiles:
- Users can view their own profiles and profiles of others, including their posts and followers.
- Follow System:
- Louligram includes a follow system, allowing users to connect with each other.
- Fully Responsive:
- You can have a high quality user experience either form your phone or desktop.
-
Clone the Repository:
git clone https://github.com/Louai-Zokerburg/louligram-social-media-app.git
-
Install Dependencies:
cd louligram-social-media-app npm install
-
Configure Appwrite:
- Sign up or login to your Appwrite console
- Create a new project and name it what ever you want (Ex. louligram)
- Create a new Database and name it what ever you want (Ex.
louligram-db
) - Start Creating the following collections in
louligram-db
-
Saves
- add the following attributes
Propertie Type user Relation with user post Relation with post -
Posts
- add the following attributes
Propertie Type creator Relationship with creator likes Relationship with likes caption String tags String [] imageUrl Url imageId String location String save Relationship with save - add the following indexes
key Type arttributes asc/desc caption fulltext caption DESC -
Users
- add the following attributes
Propertie Type creator Relationship with creator likes Relationship with likes caption String tags String [] imageUrl Url imageId String location String save Relationship with save - add the following indexes
key Type arttributes asc/desc caption fulltext caption DESC
-
-
Add
.env.local
VariablesVITE_APPWRITE_PROJECT_ID= VITE_APPWRITE_URL= VITE_APPWRITE_DATABASE_ID= VITE_APPWRITE_STORAGE_ID= VITE_APPWRITE_USER_COLLECTION_ID= VITE_APPWRITE_POST_COLLECTION_ID= VITE_APPWRITE_SAVES_COLLECTION_ID=
-
Start the Development Server:
npm run dev
-
Visit the App:
- Open your browser and navigate to
[http://localhost:5173](http://localhost:5173)
to see Louligram in action.
- Open your browser and navigate to
- Sign Up or Sign In:
- Create a new account or sign in with your existing credentials.
- Explore and Follow:
- Explore posts from other users and follow those you find interesting.
- Create and Like Posts:
- Share your moments by creating posts and interact with others by liking their posts.
- View and Save Posts:
- View your own and others' profiles, and save posts for future reference.
- Enjoy Louligram:
- Have fun using Louligram and connecting with other users in this social media experience!