Introduction • Key Features • How To Use • License
Matcha is a Vue.js dating web application with real-time chat and geolocation features. The application is built with the following technologies:
- Vue.js for the front-end
- Vuex for state management
- Vue Router for routing
- Axios for API calls
- Node.js and Express.js for the back-end
- MongoDB as a NoSQL database
- Socket.io for real-time, bi-directional communication between web clients and servers.
- Bcrypt.js for password hashing and salting
- JSON Web Tokens (JWT) for authentication
- User authentication and authorization
- Profile creation and editing
- Search and filter user profiles
- Real-time chat with other users
- Real-time geolocation tracking of other users
- Interactions between users (like, unlike, block, report)
- Notifications of profile likes, messages, and interactions
- Responsive design for mobile and desktop
- Client-side and server-side validation
- Implement email verification for user registration
- Add the ability to upload photos
- Implement third-party authentication (e.g. Google, Facebook)
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/Youssef-kobi/Matcha
# Go into the repository
$ cd Matcha
# Install dependencies
$ npm install
# Start the server
$ npm run server
# Start the client
$ npm run client
# Start both server and client
$ npm run dev
Note If you're using Linux Bash for Windows, see this guide or use
node
from the command prompt.
MIT