Ru

CRYSTAL is available for testing

25.10.2024

CRYSTAL

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.

The project is being tested in

BrowserStack

Share

Copy

BTC (Network BTC) - 1C2EWWeEXVhg93hJA9KovpkSd3Rn3BkcYm

Ethereum (Network ERC20) - 0x05037ecbd8bcd15631d780c95c3799861182e6b8

This website uses cookies. By clicking the 'Accept' button or continuing to use the website, you agree to the use of cookies.