Simple Twitter is inspired by ALPHA Camp. It inclues the basic founction as an social platform, such as create/delete posts, like/unlike posts, follow/unfollow accounts, leave/delete comments and public/private chatroom.
→ Check Out Front-end Repository
Visitor
As a visitor, you can:
- Sign up for an account and join this platform
- Explore tweets on this platform, including the content tweeted by yourself
- Interact with users by Follow, Like, Reply and Chat
- Customize your profile by an avatar, cover, and self-introduction
- Chat with users at an online chatroom
- Send private messages to the users
- Subscribe users and get notifications when they tweet, also you will receive notifications when your tweets get any response
- Here is a user account you can use
account | password |
---|---|
@user1 | 12345678 |
Admin
As an admin, you can:
- Manage all tweets on this platform, deleting the tweet is available for the admin
- Dashboard for observing all users, easy to find out who is an active user
- Here is an admin account you can use
password | |
---|---|
root@example.com | 12345678 |
api/
└── admin/
│ ├── signIn
│ ├── getTweets
│ ├── deleteTweet
│ ├── getUsers
└── user/
│ ├── signup
│ ├── signin
│ ├── getProfile
│ ├── getTopUser
│ ├── getTweets
│ ├── getUserReplies
│ ├── getUserLikes
│ ├── getSettingPage
│ ├── putSetting
└── follow/
│ ├── addFollowing
│ ├── removeFollowing
│ ├── getFollower
│ ├── getFollowing
└── like/
│ ├── likeTweet
│ ├── unlikeTweet
└── tweet/
│ ├── getTweets
│ ├── getTweet
│ ├── postTweet
│ ├── putTweet
│ ├── deleteSelfTweet
└── reply/
│ ├── postReply
│ ├── getReply
│ ├── putReply
│ ├── getSingleReply
└── chat/
│ ├── postChatRoom
│ ├── deleteChatRoom
│ ├── getChatRoom
│ ├── postMessage
│ ├── readMessages
│ ├── getUnreadMessages
└── subscribe/
├── addSubscribing
├── removeSubscribing
├── getNotifications
└── readNotifications
Front-end
- Using Vue-cli for Vue.js project management
- Using Vuex for storing the user's state
- Using vue-loading-overlay to customize personal loading animation
- Using Socket io for for send message to back-end
- Using moment.js for parsing time and display the date range from now
- Using Sweetalert2 to give tips to the user when they meet some problems
Back-end
- Using JSON Web Tokens to build token based authentication
- Using imgur-node-api for uploading images
- Using bcryptjs to encrypt the password
- Using dotenv to deal with the environment variables
- Using Socket io for catching message from front-end