Skip to content

bsour/Tulip-back-end

 
 

Repository files navigation

Tulip Dating App Back-end 🌷

Tulip Banner

The Tulip Dating App's back-end is the powerhouse behind our platform's seamless operation, enabling secure user interactions, real-time communication, and intelligent matchmaking. Here's how our chosen technologies contribute to a top-tier dating experience.

🧰 Technologies Used

Node.js Express mongoDB AWS Socket.IO Postman GitHub

Detailed Technology Breakdown

  • Node.js: A JavaScript runtime that allows us to build the server-side of the app with JavaScript. It's fast, scalable, and works well with real-time applications.
  • Express: A lightweight web application framework for Node.js that simplifies the development of web APIs, handles HTTP requests, and integrates middlewares for extended functionality.
  • MongoDB: A NoSQL database that stores data in flexible, JSON-like documents. In Tulip, it allows for efficient storage and retrieval of user profiles and match information.
  • Render: Tulip utilizes Render for CI/CD. Render provides a platform for automating the build, test, and deployment procersses, ensuring that changes to the codebase are seamlessly and efficiently integrated into the production enviroment. Render's infrastucture-as-code approach streamlines the deployment pipeline and enhances the overall agility and stability of the Tulip application.
  • Socket.IO: A JavaScript library for real-time web applications. It enables real-time, bidirectional, and event-based communication between web clients and servers. It's perfect for the chat feature in Tulip.
  • Insomnia: Used to design, test, and document APIs. It helps ensure that our endpoints behave as expected and makes it easier to communicate API specifications to the front-end team.
  • GitHub: Serves as our code repository and version control system, also facilitating collaboration through features like issues and pull requests.

🚀 Features

  • Real-Time Chatting: Built with Socket.IO, our chat system delivers messages instantly between users, enhancing the social experience.
  • Secure Authentication: We employ JWTs to manage user sessions securely and bcrypt for hashing passwords, providing a reliable security layer.
  • MongoDB Database: Our choice for data persistence, handling complex queries efficiently, and scaling horizontally as our user base grows.
  • Advanced Matchmaking Algorithm: Utilizes user profile data to suggest compatible matches, thanks to MongoDB's powerful aggregation framework.
  • Secured API Routes: We use JWT-based authentication to protect our API endpoints, ensuring that only authorized users can access sensitive data.

🛠 Installation

To get the back-end up and running

locally, clone the repository and follow these steps:

git clone https://github.com/YuJi-2023/Tulip-back-end
cd tulip-backend
npm install
npm start

🔐 Secure Login Flow

  • Credential Verification: We compare hashed passwords using bcrypt to keep login details secure.
  • Token Creation & Management: JWTs are generated for authenticated users, enabling secure API access.
  • HTTPS/SSL: Our APIs are served over HTTPS, ensuring all data in transit is encrypted.

👨‍💻👩‍💻 Authors

  • Yu Ji - Back-end Development - LinkedIn
  • Angella Lao - Back-end Development - LinkedIn

📝 License

Distributed under the MIT License. See LICENSE.md for more information.

🌟 Star Us!

Like our work? Give us a star on GitHub!

About

portfolio project-Tulip dating pwa

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%