๐ธ Fullstack messenger app based on TypeScript & React & Express & PostgreSQL
This messenger is my graduation project. Designed to learn how WebSocket works, improve my skills in web application design and working with typescript. The messenger consists of two databases, four servers and an SPA client.
Client is typical SPA application based on Vite & React & TypeScript.
- JWT auth
- Unit and screenshot tests
- Multilanguage
- Two colorscheme
- WebSocket data fetching
- Three layers of design
- Client
- State
- WebSocket
- Auth - available only for unauthorized user. Use to get sign in or registration. Based on HTTP.
- Settings - available only for authorized user. Use to customize settings like: appearance, language and your profile. Based on HTTP.
- Contacts - available only for authorized user. Use to add friends(contacts) to fast access for them and check their information. Based on HTTP.
- Chats - available only for authorized user. Use for chating. Based on HTTP and WebSocket
Another packages you can see here
Server side contains four servers based on NodeJS & ExpressJS & TypeScript.
- HTTP server - created to work with auth, to access for first information, work with contacts and settings.
- WS server โ created to work with chating, CRUD operation with messages and CD operation with chats
- File server โ created to save and aprocessing files.
- Database server - created to get access to all databases.
Another packages you can see in each server package.json
file
For this project i use two databases:
- PostgreSQL - for saving all information
- Redis - for saving auth codes
- Add dynamic imports for client
- Rewritte file system
- Add postman tests
- Add e2e tests for client
- Check client screenshot tests
- Add husky