CRYSTAL is available for testing
October 25, 2024
upd: February 23
CRYSTAL is an open source social network currently under development.
The main features that are available now:
- 1. Registration/editing/deleting a user.
- 2. Avatar, banner, description and unique user Id.
- 3. Adding/editing/deleting posts.
- 4. Compress added images in the browser using - npmjs.com/package/browser-image-compression and checking the acceptable image size on the server.
- 5. Likes and hashtags system.
- 6. Partial translation into English using react.i18next.com.
- 7. Dark theme using Redux (not fully colored).
- 8. Validation, partially using Yup npmjs.com/package/yup, sometimes custom.
- 9. Registration/authentication/authorization and general work with requests is based on TanStack Query tanstack.com/query/latest + Redux.
- 10. Authorization via Cookie/JWT (HTTPonly, Secure, SameSite: Strict).
- 11. reCAPTCHA v3 upon registration.
- 12. Infinite scrolling of posts.
In the future it is planned to add: private messages with encryption, comments, photo/video albums, etc.
The goal of the project is to create a safe, fast and convenient social network using the best technologies. Currently, the project is in the MERN stack, deployed to a VPC.
The project will consist of stages. The first stage in the MERN stack will be open source, with detailed instructions on how to deploy the project on a VPC with Debian, configure and run it in a fully working form with Nginx configuration, security settings, auto-renewal of the SSL certificate, work through GitHub, etc. After some time, the code will be published on GitHub, and instructions in the CRYSTAL category. The second stage and subsequent ones will be either open or partially open source, and a transition to ScyllaDB, Next.js and TypeScript is also planned.
Share
USDT (Network TRON (TRC20)): TTvJdwtL3VAZKSHbYi8B2eQEQDxbHUD4Ka
POL (Network Polygon PoS): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2
BTC (Network BTC): 12GkhJZWrdn23PUerGerN7nSZXHwWGm59U
ETH (Network ERC20): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2





Comment on