Skip to content

Instantly share code, notes, and snippets.

View hieptl's full-sized avatar
🎯
Focusing

Hiep Le hieptl

🎯
Focusing
View GitHub Profile
@hieptl
hieptl / Sidebars.js
Created November 14, 2021 06:32
Sidebars.js - Friend - Listen to User Presence - Discord Clone
...
useEffect(() => {
if (cometChat && user) {
listenUserPresense();
}
return () => {
if (cometChat) {
cometChat.removeUserListener(userPresenseListenerId);
}
}
@hieptl
hieptl / Sidebar.js
Created November 14, 2021 06:50
Sidebar.js - Server - Discord Clone
const Sidebar = (props) => {
const { member } = props;
if (!member) {
return <></>
}
return (
<div className="group-members__list-item">
<div className="group-members__list-item-avatar">
@hieptl
hieptl / instagram.sql
Last active February 11, 2025 03:21
instagram.sql - Instagram Clone
DROP DATABASE IF EXISTS instagram;
CREATE DATABASE instagram;
USE instagram;
CREATE TABLE user_account (
id VARCHAR(255) NOT NULL,
user_email VARCHAR(255) NOT NULL,
user_password VARCHAR(255) NOT NULL,
@hieptl
hieptl / index.js
Last active December 3, 2021 03:02
index.js - server - Instagram clone
require("dotenv").config();
const cors = require("cors");
const express = require("express");
const multer = require("multer");
const mysql = require("mysql2");
const path = require("path");
const PORT = process.env.PORT || 8080;
const app = express();
@hieptl
hieptl / index.js
Created November 16, 2021 00:13
index.js - routes -server - Instagram Clone React Node
const authRoutes = require("./auth");
const userRoutes = require("./users");
const followerRoutes = require("./followers");
const notificationRoutes = require("./notifications");
const postRoutes = require("./posts");
const reactionRoutes = require("./reactions");
module.exports = function ({ app, dbConn, upload }) {
authRoutes({ app, dbConn });
userRoutes({ app, dbConn, upload });
@hieptl
hieptl / auth.js
Created November 16, 2021 01:04
auth.js - routes - server - Instagram Clone React Node
module.exports = function ({ app, dbConn }) {
app.post("/login", (req, res) => {
const { email, password } = req.body;
if (email && password) {
const sql = "SELECT * FROM user_account WHERE user_email = ? AND user_password = ?";
dbConn.query(sql, [email, password], function (error, response) {
if (response && response.length !== 0) {
res.status(200).jsonp({ ...response[0] });
} else {
res.status(200).jsonp({ message: "Your username or password is not correct" });
@hieptl
hieptl / users.js
Created November 16, 2021 01:10
users.js - routes - server - create user - Instagram Clone React Node
app.post("/users/create", upload.single("avatar"), (req, res, next) => {
const file = req.file;
if (!file) {
res.status(200).jsonp({
message: "Please upload your avatar",
});
} else {
const avatar = `/${file.filename}`;
const { id, email, password, fullname } = req.body;
if (email && password && fullname) {
@hieptl
hieptl / user.js
Created November 16, 2021 01:15
users.js - routes - server - update number of follower - Instagram Clone React Node
app.post('/users/followers', (req, res) => {
const { numberOfFollowers, id } = req.body;
const updateNumberOfFollowersSql = "UPDATE user_account SET user_number_of_followers = ? WHERE id = ?";
dbConn.query(updateNumberOfFollowersSql, [numberOfFollowers, id], function (err, updatedUser) {
if (err) {
res.status(200).jsonp({ message: "The system error. Please try again" });
} else if (updatedUser) {
res.status(200).jsonp({ id });
}
});
@hieptl
hieptl / users.js
Created November 16, 2021 02:07
users.js - routes - server - update number of posts - Instagram Clone React Node
app.post('/users/posts', (req, res) => {
const { numberOfPosts, id } = req.body;
const updateNumberOfPostsSql = "UPDATE user_account SET user_number_of_posts = ? WHERE id = ?";
dbConn.query(updateNumberOfPostsSql, [numberOfPosts, id], function (err, updatedUser) {
if (err) {
res.status(200).jsonp({ message: "The system error. Please try again" });
} else if (updatedUser) {
res.status(200).jsonp({ id });
}
});
@hieptl
hieptl / users.js
Created November 16, 2021 02:09
users.js - routes - server - load user by id - Instagram Clone React Node
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
if (!userId) {
res.status(200).jsonp({ message: 'Cannot load user information, please try again' });
}
const getUserSql = "SELECT * FROM user_account WHERE id = ?";
dbConn.query(getUserSql, [userId], function (error, response) {
if (response && response.length) {
res.status(200).jsonp(response);
} else {