Skip to content

coder-writes/dev-tinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸ’» DevTinder

Node.js Express.js MongoDB JWT

πŸ”₯ The Tinder for Developers πŸ”₯

Connect, collaborate, and build amazing projects together!


🌟 About DevTinder

DevTinder is a revolutionary platform designed specifically for developers to find like-minded coding partners, collaborators, and project teammates. Just like Tinder, but for the tech community! Swipe right on developers who match your coding style, interests, and project goals.

✨ Key Features

  • πŸ” Secure Authentication - JWT-based authentication with password hashing
  • πŸ‘€ Rich User Profiles - Showcase your skills, projects, and interests
  • 🀝 Smart Matching - Connect with developers based on compatibility
  • πŸ“± Connection Requests - Send and manage collaboration requests
  • πŸ›‘οΈ Data Validation - Robust input validation and security measures
  • 🌐 CORS Support - Ready for frontend integration

πŸš€ Quick Start

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/coder-writes/devtinder.git
    cd devtinder
  2. Install dependencies

    npm install
  3. Set up environment variables

    # Create .env file and add:
    MONGODB_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret_key
    PORT=3000
  4. Start the development server

    npm run dev
  5. Start the production server

    npm start

πŸ“ Project Structure

devtinder/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app.js              # Main application entry point
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── database.js     # Database configuration
β”‚   β”œβ”€β”€ middlewares/
β”‚   β”‚   └── auth.js         # Authentication middleware
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ user.js         # User schema and model
β”‚   β”‚   └── connectionRequest.js # Connection request model
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ auth.js         # Authentication routes
β”‚   β”‚   β”œβ”€β”€ profile.js      # Profile management routes
β”‚   β”‚   β”œβ”€β”€ requests.js     # Connection request routes
β”‚   β”‚   └── user.js         # User-related routes
β”‚   └── utils/
β”‚       └── validation.js   # Input validation utilities
β”œβ”€β”€ test/                   # Test files
β”œβ”€β”€ package.json
└── README.md

πŸ› οΈ API Endpoints

Authentication

  • POST /signup - Register a new user
  • POST /login - User login
  • POST /logout - User logout

Profile Management

  • GET /profile/view - View user profile
  • PATCH /profile/edit - Update user profile

Connection Requests

  • POST /request/send/:status/:userId - Send connection request
  • POST /request/review/:status/:requestId - Accept/reject requests
  • GET /user/requests/received - Get received requests
  • GET /user/connections - Get user connections
  • GET /user/feed - Get user feed

πŸ§ͺ Testing

Run the test suite using Mocha:

npm test

πŸ”§ Tech Stack

Technology Purpose
Node.js Runtime environment
Express.js Web framework
MongoDB Database
Mongoose ODM for MongoDB
JWT Authentication
bcrypt Password hashing
Validator Input validation
CORS Cross-origin requests
Mocha Testing framework

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the ISC License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Your Name


πŸ™ Acknowledgments

  • Thanks to the open-source community for the amazing tools and libraries
  • Special thanks to all contributors who help make DevTinder better
  • Inspired by the need to connect developers worldwide

⭐ Star this repo if you find it helpful!

Made with ❀️ for the developer community

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published