Menageo is a cross-platform mobile application built with Expo, React Native, and NestJS (backend). It provides services related to cleaning appointments, user management, authentication, and real-time chat between clients and cleaners.
- Frontend: Expo, React Native, Zustand, Redux Toolkit
- Backend: NestJS with Mongoose (MongoDB)
- Real-time Communication: WebSockets using Socket.IO
git clone https://github.com/alaeddinerami/menagoeF.git
cd menageo
npm installnpm run start
npx expo startTo open on a device/emulator:
npm run android
npm run web| Script | Description |
|---|---|
npm start |
Launch Expo development server |
npm run web |
Start the web version of the app |
npm run lint |
Run linting and check formatting |
npm run format |
Fix and format code with Prettier |
npm run android / ios |
Open app in emulator |
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/signUp |
Register a new user |
| POST | /auth/login |
Login a user |
| Method | Endpoint | Description |
|---|---|---|
| GET | /user |
Get all users |
| POST | /user |
Create a new user |
| GET | /user/:id |
Get a specific user |
| PATCH | /user/:id |
Update a user |
| DELETE | /user/:id |
Delete a user |
| Method | Endpoint | Description |
|---|---|---|
| GET | /reservations |
Get all reservations |
| POST | /reservations |
Create a new reservation |
| GET | /reservations/cleaner |
Get reservations by cleaner |
| GET | /reservations/client |
Get reservations by client |
| GET | /reservations/:id |
Get reservation by ID |
| PATCH | /reservations/:id |
Update reservation by ID |
| DELETE | /reservations/:id |
Delete reservation by ID |
| Method | Endpoint | Description |
|---|---|---|
| POST | /chat/message |
Send a message |
| GET | /chat/messages/:userId/:otherUserId |
Get messages between two users |
| GET | /chat/:userId |
Get all chats for a user |
| PATCH | /chat/message/:messageId/read |
Mark message as read |
- Frontend: React Native, Expo, Redux Toolkit, Tailwind CSS
- Backend: NestJS, MongoDB, Mongoose
- Real-time: Socket.IO
- Dev Tools: ESLint, Prettier, TypeScript