We have built a mobile social networking application inspired by the Instagram platform. The app offers all the essential features of a social network, including posting, liking, sharing, commenting, and reporting posts. Additionally, users can follow others, send messages, display their activity status, and receive real-time notifications. Regarding the post reporting feature, we share the Admin Website with the Web_Social_Network_with_Link_Prediction project.
- This project is used to serve as a final term project for the course in the Information Systems department at UIT: Mobile Application Development - NT118 (9.5/10)
ID | Name | Contribution % | |
---|---|---|---|
21522791 | Nguyễn Hoàng Việt | Nguyễn Hoàng Việt | 100 |
21520400 | Nguyễn Hoàng Phúc | Nguyễn Hoàng Phúc | 100 |
- Frontend: React Native, Redux, Expo Router, Tailwind CSS
- Backend: NodeJS, ExpressJS
- Real-time: Socket.IO
- Database: MongoDB
- Login / Register (API Token)
- Create/Like/Comment/Share/Report Posts
- Follow/Search/View Other Users' Profiles
- Real-time Notifications/Messaging/Calling/Active Status
- Manage Own Profile
- Login & Register
- Home & Notification
- Create Post
- Post Management
- Explore & Search
- Messages & Active Status
- View & Manage Profile
- Node.js (v14 or later)
- npm or yarn
- MongoDB Atlas Database
- Expo Go/Android Studio to run Virtual Machine
- Clone the repository and navigate to the frontend directory:
git clone https://github.com/NHViet03/Mobile-App_Social_Network cd /Mobile-App_Social_Network/client
- Install dependencies:
npm install
- Start the Expo server:
npm start or npx expo start
- Navigate to the backend directory and Install dependencies:
cd /Mobile-App_Social_Network npm install
- Set up environment variables, create a .env file with:
MONGODB_URL=your_mongodb_connection_string ACCESS_TOKEN_SECRET=your_access_key REFRESH_TOKEN_SECRET=your_refresh_key
- Start the backend server:
npm start
*Note: After starting the backend server, proceed to start the Virtual Machine in Expo/Android Studio to launch the app.