meanmachin3 / chirp

Twitter Implementation using F#

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twitter Simulator


Table of Contents

Build Process

  • Unzip file unzip NegiYadav.zip
  • dotnet build src/FsTweet.Web/FsTweet.Web.fsproj to build project
  • Since this project makes use of Postgres Databae, you'd need to load the dump using psql -U postgres database < dump_file to load all the schema necessary for this project
  • dotnet run --project src/FsTweet.Web/FsTweet.Web.fsproj to run the project
  • Visit localhost:5000 to view this project

What is Working

  • Register account
  • Send a tweet. Tweets can have hashtags (e.g. #COP5615isgreat) and mentions (@bestuser)
  • Subscribe to user's tweets
  • Re-tweets (so that your subscribers get an interesting tweet you got by other means)
  • Allow querying tweets subscribed to, tweets with specific hashtags, tweets in which the user is mentioned (my mentions)
  • If the user is connected, deliver the above types of tweets live (without querying)

API Details

Open Endpoints

Open endpoints require no Authentication.

  • Login : POST /login/

Endpoints that require Authentication

Closed endpoints require a valid Token to be included in the header of the request. A Token can be acquired from the Login view above.

User

Each endpoint manipulates or displays information related to the User whose Token is provided with the request:

  • Show signup page : GET /signup
  • Create User for login : POST /user/
  • Signup success: GET /signup/success/%s
  • Logout: GET /logout

UserProfile

%s means it accepts a username of type string

  • Show user profile page : GET /%s
  • Get timeline view : GET /wall/
  • Get all the followers : GET /followers/
  • Get all the user that it follows : GET /followees/
  • Create Tweet/Retweet : POST /tweets/
  • Fetch all the tweets in system : GET /all/
  • To follow a user: POST /follow

Websocket APIs

  • Get live tweets: GET /websocket

Screenshots

Index

Index

Login

Tweet

Signup

Tweet

Subscribe

Tweet

User Profile

Register

Query Page

Register

User Feed Page

Register

Video Link

About

Twitter Implementation using F#


Languages

Language:F# 59.7%Language:Liquid 16.6%Language:JavaScript 9.2%Language:SCSS 9.1%Language:CSS 3.5%Language:HTML 1.4%Language:Dockerfile 0.3%Language:Shell 0.2%