Giter Site home page Giter Site logo

jwitter's Introduction

🦅 Jwitter

Project URL

Project Description

This Project is Jwitter, Twitter Clone Project, Jwitter

Therefore, from now on, each expression will be changed to suit the project name as follows.

  • Twitter → Jwitter
  • Tweet →Jweet
  • retweet → rejweet

For Build

  1. install gh-pages
  2. update package.json
{
	"scripts": {
		"start": your code,
		"build": your code,
		"predeploy": "npm run build",
		"deploy": "gh-pages -d build"
	},
	...
	"homepage" : "https://jeeseongmin.github.io/jwitter"
	...
}
  1. npm run deploy
  2. wait and access the url

Project Stack

Client

Following items are core frontend technologies used in this project:

  • React
  • React Router
  • Redux
  • tailwind css

Server

Following items are core backend technologies used in this project:

  • firebase
  • github deploy
  • gh-pages (for hosting)

Data Schema

Cloud Firestore

Jweet {
	text : string,
	createdAt : timestamp,
	creatorId : string,
	like : array,
	reply : array,
	rejweet : array,
	attachmentUrl : array,
}

reply {
	text : string,
	createdAt : timestamp,
	creatorId : string,
	like : array,
	attachmentUrl : string,
	parent : string,
}

user {
	photoURL : string,
	email : string,
	displayName : string,
	bookmark : array,
	follower : array,
	following : array,
	rejweet : array,
	description : string,
	bgURL : string,
}

Redux Schema

currentUser {
	uid : string,
	photoURL : string,
	displayName : string,
	email : string,
	bgURL : string,
	description : string,
	bookmark : array,
	rejweet : array,
	follower : array,
	following : array,
}

Jwitter Architecture

Page

  1. Login 🔑

    Users can use Jwitter with Google login, Github login, and regular email login. Login

  2. Home 🏠

    In this page, all Jweets are arranged in the order of the time they were created.

    Home

  3. Explore 🔎

    Explore page is literally a page that user can explore. This page is divided into two tabs, Jweets and Users. The Jweets tab allows users to randomly browse Jweets posted by users, and the users tab can randomly browse all users. Explore

  4. Bookmark 📗

    Bookmark page has a function that allows users to bookmark if user have Jweet that they want to collect, and they can see Jweet that they bookmark at once. If they click the bookmark mark below, it will disppear from the corresponding page.

    Bookmark

  5. Popluar 🌶

    The popular page is a page where user can see popluar Jweet sorted by like number from the top. So it's a page where user can collect Jweets that are currently well received.

    Popluar

  6. Profile

    The Profile page shows the user's information. Profile

    The user may change desired information(displayName, profile image, background image, description). In the user's profile, you can see which Jweet was posted by the person and which Jweet was displayed on.

    Profile_edit

Functions

  1. Search

    All Jweets and users can be searched through the Search function at the upper right. Since firebase's query does not support real-time text search, it was implemented through javascript text search.

    https://i.imgur.com/Xq9EU0S.png

    This part is just for fun, and if user enter the text 'all', it represents all the users and Jweets that currently exist.

    https://i.imgur.com/IUZ4jj5.png

  2. Like

    Anyone can mark Jweet with 'Like' once.

    https://i.imgur.com/U4FGF6E.png

  3. Reply

    User can write reply on any Jweet. Reply, like Jweet, can enter photos and emojis.

    https://i.imgur.com/U4FGF6E.png

  4. Rejweet

    It has a function that can be rejweet like real Twitter. Through this, the Jweet can be quickly shared.

    rejweet

  5. Recommend

    Originally, like Twitter, recommendation functions should be inserted with certain criteria, but there was not enough data to recommend users.

    https://i.imgur.com/C62bpjP.png

part to be supplemented

  • Follow
  • Dark mode
  • Alarm (for rejweet or reply, like)

jwitter's People

Contributors

jeeseongmin avatar

Stargazers

 avatar

Watchers

 avatar  avatar

jwitter's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.