In this project, we have developed Matcha, a modern and interactive dating platform that connects users in a manner similar to Tinder. We accomplished all functionalities without relying on any third-party Object-Relational Mapping (ORM) or form validation libraries. Every aspect of user authentication, privacy settings, messaging system, and user management was crafted by our team. Through collaborative efforts, we implemented a wide range of features to enhance user experience and security:
- User authentication and storage in a PostgreSQL database.
- Advanced privacy settings.
- Real-time messaging system and instant chat channels for seamless communication.
- Interactive user interface with real-time updates and responsive design.
- Matching algorithm based on user preferences.
- User profiles, images, and detailed information display.
- Geolocation services for finding nearby matches.
- Integration of notifications for new messages and matches.
- Backend: NestJS -> TypeScript
- Frontend: Svelte -> TypeScript
- Database: Postgres -> Query
- In-depth understanding of REST API mechanisms.
- Implementation of robust web security measures, including JWT Tokens, refresh token, password encryption, and form validation.
- Integration of real-time features using Socket.io.
- Effective user management techniques.
- Creation of engaging CSS animations for a dynamic user interface.
- Focus on user experience and user interface (UE/UX) design principles.
- Dockerizing the entire project for seamless deployment and scalability.
- Successful teamwork and collaboration in a two-person project.