made with chakra-ui, express, graphQL and next-js
- Building a GraphQL API
- Apollo
- SQL
- SDL and typescript
- postgreSQL pgdmin and psql
- typeORM (DBContext, Migration)
- GraphQL (query, mutation,subscriptions and fragments)
- file upload and websockets
- complex database design (6 tables)
- dataloader (n+1 problem)
- infinite scroll
- styled-component library (chakra-UI)
- jsx, props, hooks, conditional rendering and custom hooks
- session-management(JWT tokens)
Note: Please excuse the large amount of comments in my code, they are used as notes for later review.
users can create team, only the admin of the team have access to create channel and add new users to the team.
admin of the team can also make the channels private, if needed.
team members can dm each other.
user session are managed with jwt tokens
real-time messaging feature is implemented with graphql-subscription
user can also send audio, files and other data.
see the project: https://www.youtube.com/watch?v=BEIEE_k2gu8