Hi,
I am a student and a junior developer who is a graduating candidate in comp sci major. I am about to start building my final year project which is a real-time messaging application for software developers to Enhance Knowledge Exchange and Problem Solving. It is mainly a chat application with more enhanced features. I am planning to use React and React Native for the frontend and cross-platform mobile apps, Node.js and ExpressJS for the backend, GraphQL for fetching and manipulating data from the backend and PostgreSQL for the database, and finally Socket.IO for the real-time chatting and communication. I would highly appreciate it if anyone here with experience in building similar apps to tell me if I made a good choice or suggest better tech stacks.
Thanks in advance.
Your tech stack is solid for building a real-time messaging project.
React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.
ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.
Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).
I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.
Recommended technology stacks for building a messaging app include programming languages like Java, Python, Swift, or Kotlin, and frameworks like React Native, Flutter, or Ionic
Your tech stack looks solid, but consider adding Sails.js for better WebSocket integration and exploring GraphQL codegen with TypeScript for an enhanced dev experience. For databases, NO-SQL options like Firebase Real-time DB or AWS DynamoDB could provide the flexibility you need for a chat application.
"188BET - Nhà cái hàng đầu trong lĩnh vực cá cược trực tuyến với uy tín và chất lượng vượt trội. Chúng tôi cung cấp các sản phẩm cá cược đa dạng và trò chơi trực tuyến phong phú, được cập nhật liên tục, giúp bạn tăng cơ hội chiến thắng mỗi ngày. Tham gia 188BET để trải nghiệm dịch vụ cá cược đỉnh cao và cơ hội nhận thưởng hấp dẫn, đồng hành cùng bạn trên hành trình chinh phục mọi thử thách.
Thông tin liên hệ:
Website: https://188bet.wedding/
Email: 188betwedding@gmail.com
Địa chỉ: 93/9 P. Trung Kính, Tổ Dân Phố Số 31, Cầu Giấy, Hà Nội, Việt Nam
Map: https://maps.app.goo.gl/EQGWXE5EXHQNZzCEA
Phone: +84988753159
Hashtag: #188bet #nhacai #cacuoc #trochoi #giaithuong #cacuoctructuyen #nhacai188bet #188betwedding"
I built a very similar application with real-time chatting, and I used a very similar stack to yours (MySQL instead of Postgre). The stack that you chose is very good for what you want to make (or have already made since I am 2 weeks late).
openings out there because there's just more web dev to be done then app development.
MVP for testing and customer feedback, then a simple tech stack like WordPress would do the work.
MySQL is popular for its speed and simplicity, while PostgreSQL is preferred for its advanced features such as full-text search and complex querying capabilities.