Overview • Features • Technologies Used • Download APK • Installation • Usage • Screenshots • Contributing • License • Contact
This Appointment Scheduling App is a React Native mobile application designed to simplify booking appointments with service providers. Users can register, browse providers, select available time slots, and manage their appointments in a single, smooth mobile interface.
The app integrates with a Node.js backend running on Bun, supporting JWT authentication with Redis blacklist management and MongoDB for data storage.
- User registration, login, and logout with token-based authentication.
- View list of service providers including name, category, and profile image.
- Select providers and available time slots to book appointments.
- View upcoming appointments and cancel bookings if needed.
- Offline support with mock data for testing.
- Manage profile details.
- Browse provider details and schedule appointments.
- Track and cancel booked appointments.
- Secure authentication and token management with Redis.
- JWT authentication and Redis-based token blacklist.
- CRUD for providers and appointments.
- Secure REST API endpoints for mobile app consumption.
- Rate-limiting and middleware security features.
- React Native (Expo)
- TypeScript
- NativeWind (TailwindCSS for React Native)
- React Query (TanStack Query)
- Axios for API communication
- Node.js + Express
- Bun runtime
- MongoDB (Mongoose)
- JWT for authentication
- Redis for blacklisted tokens
- SecureStore for local storage
- Expo vector icons and DateTime picker
- React Navigation (Bottom Tabs)
- Toast messages and custom UI components
- The backend has been deployed on Render and is accessible publicly.
- API URL:
https://rajesync.onrender.com(updateaxiosInstance.tsin mobile if needed)
-
The Android APK has already been built and included in the repository at:
/resource/app.apk -
Alternatively, the APK is available via the public Expo download link:
- Open this link on your Android device to download the APK:
https://github.com/rajendrapancholi/rajesync/blob/main/resource/app.apk?raw=true
- Once downloaded, open your device File Manager and navigate to the downloaded file.
- Tap on
app.apkto begin installation. - If prompted, allow installation from unknown sources in your device settings.
- Wait for the installation to complete, then open the app.
- Open the APK download link in your mobile browser.
- The APK will download automatically.
- Once downloaded, tap the notification or open it from the Downloads folder.
- Allow installation from unknown sources if prompted.
- Launch the app once installation finishes.
git clone https://github.com/rajendrapancholi/rajesync.git
cd rajesynccd backend
bun install
bun run dev
Backend API runs on http://0.0.0.0:5000 (adjust in axiosInstance.ts if needed).cd mobile
npm install
npx expo start -c
Make sure the backend server is running before starting the mobile app.Create a .env file:
EXPO_PUBLIC_BASE_API=https://rajesync.onrender.com/api
EXPO_PUBLIC_TOKEN_KEY=tokenPORT=
HOST=
CLIENT_ORIGIN=
REDIS_URL=
MONGODB_URI=
JWT_SECRET=- Register or log in to the app.
- Browse the list of service providers.
- Select a provider and an available time slot to book an appointment.
- View upcoming appointments in your dashboard.
- Cancel any booking if needed.
- Manage service providers and appointments through API.
- Validate JWT tokens and manage Redis blacklist.
- Monitor database collections for appointments and users.
Add your real screenshots later. Placeholder examples:
We welcome contributions.
- Fork the repository.
- Create a new branch:
git checkout -b feature-name- Commit your updates:
git commit -m "Add feature-name"- Push the branch:
git push origin feature-name- Open a Pull Request.
This project is under the MIT License. See the LICENSE file for details.
- Project Owner: Rajendra Pancholi
- Email: [email protected]
- GitHub: https://github.com/rajendrapancholi
- LinkedIn: https://www.linkedin.com/in/rajendra-pancholi















