An Instagram-clone with my own flavors and features. Same app which will be single-page app with MERN, Redux and NoSQL coming soon!!
Below are some screenshots of the app:
- Login, Signup, Forgot password (with email).
- Quick Login like in Facebook and Instagram (this means app remembers that you had logged in, so you only have enter password to login again).
- Indicates that users exists as you type username when signing up.
- About, Developer, Help, 404, No such user, No such group page.
- AJAX used almost everywhere (From login to logout).
- Follow, Unfollow, Recommend, Profile views, Block, Unblock.
- Like, Comment (Sticker, Text, Image), Share, Unshare, Remove share, Tag, Untag, Remove tag, Copy post link, Delete post, Edit post, Open post.
- Post Text, Image (with filters), Video, Audio, Link, Document, Location with emojis, Font size, Tag, mentions, hashtags and location.
- Time ago format used everywhere.
- Custom Video and Audio player.
- Add tags to describe yourself much more.
- Edit your profile (From username, Bio, social links to tags).
- Get suggestions on whome to follow (you can also refresh suggestions).
- Know what are some of the most popular hashtags.
- Mutual likes and comments as in Facebook (When you see a post, if your followings have liked or commented on the post, then app re-arranges post's likers and commenters in a way that your followings get the first priority). eg. F1, F2, F3 and 230 others liked where F = Following.
- Shows images in Theatre mode.
- Explore people, photos, videos, audios and groups.
- Get notified on almost everything from your post being liked, commented, shared TO you being added to a group.
- Create conversation with your followings and give your conversation a title.
- Message emoji, Text, Image, Sticker.
- Delete conversation, unsend all your messages, edit conversation title and get all info about the conversation.
- Create group conversation with your followings.
- Change admin (if you're an admin), leave group, remove member, change group avatar, add members and get more info about the group.
- Bookmark the post if you liked it.
- Make a user favourite if you like him/her.
- Create a group with your followings.
- Shows newest member, members you know from the group.
- Post (Point no. 8).
- Add/remove members.
- Edit group's settings.
- Shows if a user is online.
- Love a group, invite your followings to the group.
- Change your avatar from over 200 custom avatars, don't like it upload your avatar with a cropping tool (Same can be done while changing group avatar).
- If a text post is large, then a glimpse of the post is shown and you can load more.
- You will be always prompted from deleting a post to blocking someone.
- Search users, groups and hashtags.
- Click on a particular user tag such as 'Mumbaikar' and see all users with the same user tag.
- Google+ style notification bar (one that transitions from the bottom, stays 3 seconds and then goes down).
- Description provided almost everywhere eg. when you hover over Like (Heart) button, then there'll be description of 'LIKE'.
- Change you password.
- Change account type private or public (Default: public).
- Change email and phone visibility.
- Get all your login details.
- Latest version of PHP.
- Gmail account (for account verification & password retrieval of users).
Few works to do:
- Import SQL file.
- Change user, password and host (can be done easily by CTRL+SHIFT+F).
- Change root path
/faiyaz/Instagram
toyourrootpath
. - Change
YOUR_GMAIL
andGMAIL_PASSWORD
with yourgmail account
andgmail password
resp.
Below are extended & more useful details:
- There's a SQL file named
instagram.sql
it contains all details database details. - Import the same SQL file in PHPMyAdmin and it will create the Instagram database.
- Replace the
username
,password
andhost
ordatabase
(if you want) of PDO connection with yours simply with CTRL+SHIFT+F (in Atom and VS Code for searching the whole project). - Here's how to do it very easily: search
$db = new PDO('mysql:host=host;dbname=instagram;charset=utf8mb4', 'root', 'user')
and replace it with$db = new PDO('mysql:host=YOUR_HOST;dbname=instagram;charset=utf8mb4', 'USER', '****')
with CTRL+SHIFT+F. - The root of this project is /faiyaz/Instagram/ and in your case the root will be different for eg. http://www.yoursite.com/. Search
/faiyaz/Instagram
and replace it withyourroot
. Replace easily by CTRL+SHIFT+F. - Open
login.class.php
andforgot.class.php
inconfig>class
. - Replace
YOUR_GMAIL
withyour gmail account
andGMAIL_PASSWORD
withyour gmail password
. - If root of project is
HTTP || HTTPS
, go to line130
oflogin.class.php
file & line88
offorgot.class.php
file and fix bit messed up url ofActivate
button of mail body.