This is a study project in continuous development, in which I am implementing features from Twitter - such as a real-time timeline, user profiles and tweets - using the Relay stack. Feel free to open a PR anytime!
This project has a deployment in heroku, you can see it live here.
- Language: Typescript
- Server: Koa
- Database: MongoDB
- GraphQL middleware: GraphQL-helix
- Graphql library to implement subscriptions: Graphql-ws
- React (frontend components)
- Relay (frontend framework and server specification)
Install the dependencies
yarn install
Fill the envs and generate the graphql.schema
file. Then, run
yarn dev
It's also important to note that, if you run this app in dev mode, it will run two instances (backend and frontend), since it uses webpack dev server with hot reload and ts-node-dev. Therefore, you should alter the fetchGraphQL.ts
file to point to this URL when running locally.
In production, the frontend is served from the koa server.