The Matrimony Project is a web application designed to help individuals find their life partners. Users can create profiles, browse other profiles, The platform includes features for user authentication, profile management,photo uploads, subscription plans, and more. Whether you're looking for someone with a specific background, profession, or interest, our platform makes it easy to find and connect with potential matches, ensuring a safe and efficient experience.Our goal is to provide a trusted and user-friendly environment where users can find their perfect match with ease and confidence.
- User authentication (sign up, login)
- Profile creation and management
- Profile browsing and search functionality
- Subscription management
- Secure password storage and authentication using JWT
- Photo upload and management with Cloudinary
- Events for individual gatherings
- Community members
- Open your browser and navigate to http://localhost:3000
- Sign up for a new account or log in with an existing account
- Create and manage your profile
- Browse and search for potential matches
- Subscribe to unlock additional featuresive.
- Check upcoming Events posted by community members
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT for authentication
- Cloudinary for image storage
- Multer for file uploading
- Sendgrid/mail for OTP
- Postman for API testing
- Bcrypt for password encryption
- Express-validator for validations
Before you begin, ensure you have met the following requirements:
- Node.js and npm installed
- MongoDB installed and running
- Cloudinary account for image storage
- Sendgrid Account
-
Register user :- users can register by providing mandatory information.
-
User login :- registered users can log in using their email and password.
-
Search for potential matches :- users can see available vaccine slots for a specific day and timings.
-
Update profile :- users can update profile such as photo, age, phone number etc.
-
Update and reset password :- user can update password and can reset password with OTP verification.
-
Check and Subscribe to Premium Plans :- users can check and subscribed to premiumm subscription plans.
-
Check upcoming events :- user can check upcoming gatherings,events and updates from community members.
-
Check for community members :- user can check comminity mmembers.
-
Admin Register :- Admins can register using their credentials like email and password.
-
Admin Login :- Admins can log in using manadatory credentials.
-
Total Registered Users :- Admins can check the total number of registered users.
-
Create, Update, Delete, Search, Filter user :- Admins have access for creating, updating, deleting, searching, filter a users.
-
Event - Create,Update,Delete,Get Events :- Admins can create events for users like gathering, meetings and upcoming updates.
-
Community Members - Create,Update,Delete,Get Events :- Admins can create, update, delete, get community members of events.
- Clone the repository:
git clone https://github.com/Kartik-Shrikhande/PARICHAY-APP.git
- Install dependencies:
npm install
- Set up environment variables by creating a
.env
file with your configuration.
PORT=3000
MONGO_URL=your_mongodb_connection_string
SECRET_KEY=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
SENDGRIDKEY=your_sendgrid_key
EMAIL=your_email_to_send_otp_to_user
- Start the server:
npm start
Here are some of the main API endpoints available in this project:
ADMINS APIs :-
POST /admin/signup
: Admin SignupPOST /admin/login
: Admin Login
Admin - Event
POST /admin/create-event
: Create EventPUT /admin/update-event/:id
: Update EventDELETE /admin/delete/:id
: Delete EventGET /admin/all-events
: Get All EventsGET /admin/event/:id
: Get Event By Id
Admin - User
POST /admin/create-user
: Create User By AdminPUT /admin/update-user/:id
: Update User By AdminGET /admin/users
: Get All User By AdminGET /admin/user/:id
: Get User By Id - AdminDELETE /admin/user-delete/:id
: Delete User By Admin
Admin - community
POST /admin/create-member
: Create Community Member By AdminPUT /admin/update-member/:id
: Update Community Member By AdminDELETE /admin/delete-member/:id
: Delete Community Member By AdminGET /admin/members
: Get All Community Members By Admin
USERS APIs :-
POST /user/signup
: User SignupPOST /user/login
: User LoginGET /user/users
: Get All UserGET /user/user
: Get UserPUT /user/update
: Update UserDELETE /user/delete
: Delete UserPOST /user/update-password
: Update PasswordGET /user/prices
: Get Plans ListPOST /user/subscription
: Subscribed Premium PlansGET /user/user-events
: Get All EventsGET /user/members
: Get Community Members
Users - OTP
POST /otp/otp
: Received OTP On EmailPOST /otp/verify
: Verify OTPPUT /otp/new-password
: Reset New Password