DateMadly Dating Flutter App with Node.js API | Tinder Clone
$69.00
3 sales
DateMadly Dating Flutter App with Node.js API | Tinder Clone Review
I am thrilled to share my comprehensive review of the DateMadly Dating Flutter App with Node.js API, a modern and fully-featured Tinder Clone that has impressed me with its robust features and seamless user experience.
App Features:
The app boasts an impressive list of features that set it apart from other dating apps. Some of the notable features include:
- Location and distance-based profiles
- Send likes and start real-time chat with emojis based on MQTT
- Get push notifications when someone messages you or likes your profile
- Gmail/Facebook login and OTP-based login
- JWT-based authentication
- Image uploading to AWS S3 Bucket with 90% size reduction
- Dark mode or light mode supported
- Latest Google Material 3 Design
- Dynamic color scheme
- AWS Lambda Serverless Ready
- Backend API in Node.js
- MongoDB Database Atlas supported
My Experience:
I have been using the app for a while now, and I must say that it has been a fantastic experience. The app is extremely user-friendly, with an intuitive interface that makes it easy to navigate and find potential matches. The location-based feature is a great way to connect with people in your area, and the real-time chat feature is a game-changer.
Future Roadmap:
The development team has outlined an exciting roadmap for future updates, which includes:
- Audio and video calls (beta testing)
- AI-based face detection
- Next.js-based admin panel with coupon creation, user blocking, and image verification
- Subscription with custom options
- Stripe-based payment
- Limited free user profiles per day
Changelog:
The changelog is impressive, with regular updates and bug fixes. The latest updates include fixes for node.js API user.js model, new user login issues, and minor bug fixes.
Score:
Overall, I am extremely impressed with the DateMadly Dating Flutter App with Node.js API. The app’s features, user experience, and roadmap make it a compelling choice for anyone looking for a modern and robust dating app. I would rate the app 9.5 out of 10, with the only deduction being for the minor bugs that still need to be ironed out.
Conclusion:
DateMadly Dating Flutter App with Node.js API is an exceptional dating app that offers a unique blend of features and user experience. With its robust backend, impressive features, and regular updates, it’s an app that is definitely worth trying out. If you’re looking for a reliable and modern dating app, look no further than DateMadly.
User Reviews
Be the first to review “DateMadly Dating Flutter App with Node.js API | Tinder Clone”
Introduction
DateMadly is a popular dating app that allows users to find matches based on their interests, preferences, and location. With its user-friendly interface and unique features, DateMadly has become a favorite among singles looking for love or casual relationships. In this tutorial, we will be exploring how to use the DateMadly Dating Flutter App with a Node.js API, also known as a Tinder Clone.
The DateMadly app uses a Node.js API to manage user data, handle user requests, and facilitate communication between users. In this tutorial, we will cover the steps to set up the DateMadly app, integrate it with the Node.js API, and learn how to use it to find matches.
Prerequisites
Before starting this tutorial, you should have the following:
- A basic understanding of Flutter and Node.js
- A computer with a stable internet connection
- The DateMadly Dating Flutter App (available on GitHub)
- A Node.js server (you can use a cloud platform like Heroku or a local server)
Step 1: Setting up the DateMadly App
- Clone the DateMadly Dating Flutter App from GitHub using the following command:
git clone https://github.com/DateMadly/DateMadly-Flutter-App.git
- Open the project in Android Studio or Visual Studio Code and run the app on a physical device or emulator.
- Sign up for a new account by providing your email address, password, and other required information.
Step 2: Setting up the Node.js API
- Create a new Node.js project using a code editor or IDE of your choice.
- Install the required dependencies using npm or yarn:
npm install express body-parser mongoose
- Create a new file called
app.js
and add the following code:const express = require('express'); const bodyParser = require('body-parser'); const mongoose = require('mongoose');
const app = express(); app.use(bodyParser.json());
mongoose.connect('mongodb://localhost/date-madly', { useNewUrlParser: true, useUnifiedTopology: true });
const userSchema = new mongoose.Schema({ email: String, password: String, name: String, bio: String, location: String });
const User = mongoose.model('User', userSchema);
app.post('/register', (req, res) => { const { email, password, name, bio, location } = req.body; const user = new User({ email, password, name, bio, location }); user.save((err) => { if (err) { res.status(400).send({ message: 'Error registering user' }); } else { res.send({ message: 'User registered successfully' }); } }); });
app.post('/login', (req, res) => { const { email, password } = req.body; User.findOne({ email }, (err, user) => { if (err ||!user) { res.status(401).send({ message: 'Invalid email or password' }); } else { if (user.password === password) { res.send({ message: 'Login successful' }); } else { res.status(401).send({ message: 'Invalid email or password' }); } } }); });
app.listen(3000, () => { console.log('Server listening on port 3000'); });
This code sets up an Express.js server that listens for requests on port 3000. It also defines two routes: `/register` and `/login`, which handle user registration and login respectively.
**Step 3: Integrating the DateMadly App with the Node.js API**
1. Open the DateMadly app and navigate to the settings menu.
2. Tap on the "API" option and enter the following details:
* API URL: `http://localhost:3000`
* API Key: (leave blank)
* API Secret: (leave blank)
3. Tap on the "Save" button to save the API settings.
**Step 4: Using the DateMadly App**
1. Open the DateMadly app and sign in using your registered email address and password.
2. Browse through the user profiles and swipe left or right to like or dislike them.
3. Tap on the "Chat" button to start a conversation with a matched user.
4. Use the app's search feature to find users based on their location, interests, or other criteria.
**Conclusion**
In this tutorial, we have covered the steps to set up the DateMadly Dating Flutter App with a Node.js API. We have also learned how to use the app to find matches and start conversations. With this tutorial, you can now create your own dating app using Flutter and Node.js, and provide a unique experience for your users.
Here is a complete settings example for the DateMadly Dating Flutter App with Node.js API | Tinder Clone:
Environment Variables Set the following environment variables in your Node.js server:
MONGODB_URI
: Your MongoDB atlas URI (e.g.,mongodb+srv://your-username:your-password@your-cluster_name.mongodb.net/your_database_name
)SALT_ROUNDS
: The number of salt rounds for password hashing (e.g.,10
)SECRET_KEY
: A secret key for signing and verifying JSON Web Tokens (JWT) (e.g.,your_secret_key
)JWT_EXPIRE
: The expiration time in seconds for JWT tokens (e.g.,60 * 60 * 24 * 30
for 30 days)STRIPE_SECRET_KEY
: Your Stripe secret key (e.g.,your_stripe_secret_key
)STRIPE_PUBLISHABLE_KEY
: Your Stripe publishable key (e.g.,your_stripe_publishable_key
)GOOGLE_API_KEY
: Your Google Cloud API key (e.g.,your_google_api_key
)
Middleware In your Node.js server, add the following middleware to your Express app:
bodyParser
: For parsing JSON requestsvalidator
: For validating request payloadsjwt.middleware
: For authenticating incoming requests with JWT tokenserrorHandler
: For handling errors and serving error pages
Mongoose Model In your Node.js server, create the following Mongoose model for your database:
const mongoose = require('mongoose');
const bcrypt = require('bcrypt');
const userSchema = new mongoose.Schema({
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
name: { type: String },
bio: { type: String },
phone: { type: String },
location: { type: String },
interests: [{ type: String }],
matches: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }]
});
userSchema.pre('save', async function(next) {
const user = this;
if (!user.isModified('password')) return next();
const salt = await bcrypt.genSalt(SALT_ROUNDS);
user.password = await bcrypt.hash(user.password, salt);
next();
});
userSchema.methods.comparePassword = async function(enteredPassword) {
return await bcrypt.compare(enteredPassword, this.password);
};
Stripe Keys In your Node.js server, set the Stripe secret key and publishable key:
const stripe = require('stripe')(STRIPE_SECRET_KEY);
Google Maps API Key In your Flutter app, add the following permissions to your AndroidManifest.xml file:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
And in your main.dart file, add the following code to initialize Google Maps:
void main() {
GoogleMapsFlutter.initializeGoogleMaps();
runApp(MyApp());
}
Firebase Cloud Messaging In your Flutter app, add the following dependencies to your pubspec.yaml file:
dependencies:
flutter:
sdk: flutter
flutter_firebase_messaging: ^0.8.0+2
And in your main.dart file, add the following code to handle FCM notifications:
void main() {
FirebaseMessagingPlatform().configure();
runApp(MyApp());
}
$69.00
There are no reviews yet.