The Meetup Now app allows users to propose instant meetups with people nearby within specified distances. The application includes user authentication and ensures only authenticated users can access the meetup functionalities.
- User Authentication (Login, Register)
- Propose a meeting within 15 minutes
- Search for users within 100m, 500m, or 1km radius
- Real-time location updates
├── public │ ├── favicon.ico │ └── index.html ├── src │ ├── assets │ ├── components │ │ ├── Auth │ │ │ ├── Login.vue │ │ │ ├── Register.vue │ │ ├── Meetup │ │ │ ├── ProposeMeetup.vue │ │ ├── HelloWorld.vue │ ├── router │ │ └── index.ts │ ├── store │ │ ├── auth.ts │ │ ├── meetups.ts │ │ └── index.ts │ ├── views │ │ ├── HomeView.vue │ │ ├── LoginView.vue │ │ ├── RegisterView.vue │ ├── App.vue │ ├── main.ts │ └── shims-vue.d.ts ├── tests │ ├── e2e │ ├── unit ├── .gitignore ├── babel.config.js ├── package.json ├── tsconfig.json ├── vue.config.js └── README.md
git clone https://github.com/yourusername/meetup-now-app.git
cd meetup-now-appnpm install
npm run serve
npm run build
npm run test:unit
npm run test:e2e
npm run lint
The application follows a modular structure, separating concerns into different modules for authentication and meetup functionalities. Vuex is used for state management, ensuring a single source of truth for the application's state.
User -> App: Opens App
App -> AuthService: Check Authentication
AuthService -> App: Authenticated
User -> App: Propose Meetup
App -> LocationService: Get Nearby Users
LocationService -> App: Nearby Users List
App -> User: Show Nearby Users
User -> App: Select User to Meet
App -> Selected User: Send Meetup Request
Selected User -> App: Accept/Reject Meetup
App -> User: Show Meetup Status
+---------------------+ +---------------------+
| User |<------->| Meetup |
+---------------------+ +---------------------+
| - id: String | | - id: String |
| - name: String | | - proposerId: String|
| - email: String | | - location: Object |
| - password: String | | - time: Date |
+---------------------+ +---------------------+
^ |
| |
| v
+---------------------+ +---------------------+
| AuthService | | LocationService |
+---------------------+ +---------------------+
| + login() | | + getNearbyUsers() |
| + register() | +---------------------+
+---------------------+
npm install @capacitor/core @capacitor/cli npx cap init npm install @capacitor/android npx cap add android
npm run build npx cap copy npx cap sync npx cap open android