ChatSpot is a full-stack chat application with a React Native frontend and a Java backend. The project is organized into separate Frontend and Backend folders so the mobile client and server can be developed and run independently.
Frontend/: React Native app built with Expo, TypeScript, and NativeWind styling.Backend/: placeholder folder currently containinggdrive.txt.- The application is intended to support real-time chat, user authentication, profile images, and message persistence.
- Real-time messaging using WebSockets
- User sign-in and profile handling
- Image selection and upload support from device gallery
- Persistent chat storage in MySQL database
- Clean frontend UI built with React Native and Expo
- Backend API and socket service in Java Servlet environment
-
Frontend:
- React Native
- Expo
- Expo Go
- React Navigation
- Expo Image Picker
- TypeScript
- Tailwind-style CSS with NativeWind
-
Backend:
- Java Servlets
- Hibernate ORM
- GlassFish application server
- WebSocket API
- MySQL database
-
Development Utilities:
- ngrok (optional) for secure tunneling during mobile testing
ChatSpot_Frontend&Backend/
├── Backend/
│ └── gdrive.txt
└── Frontend/
├── .expo/
├── .gitignore
├── .vscode/
├── app.json
├── App.tsx
├── assets/
├── babel.config.js
├── global.css
├── index.ts
├── metro.config.js
├── nativewind-env.d.ts
├── node_modules/
├── package-lock.json
├── package.json
├── tailwind.config.js
└── tsconfig.json
- Open
Frontend/ChatApp/ChatAppin VS Code. - Install dependencies with
npm installoryarn install. - Start the Expo development server with
npm startorexpo start. - Open the app on your device using Expo Go or an emulator.
- The current repository includes only the frontend React Native app in
Frontend/. - The
Backend/folder currently contains a placeholder file and does not include the Java backend sources. - If you add the backend sources later, open them in NetBeans or IntelliJ IDEA and deploy to GlassFish.
- Use
ngrokif you need to expose the backend to a mobile device outside your local network. - The frontend is intended to run inside VS Code / Expo development environment.
- The backend is intended to be run from a Java IDE such as NetBeans or IntelliJ.