Rooms is a great solution for you to quickly build a mobile app where people can create either private or free-to-enter Rooms, and post funny content as blog articles, even if you don’t know how to code
DescriptionRooms is a full-working template (UI + Source Code) where people can post their creative articles and share them with the community. Posts can be included in specific Rooms, and they can be set as either private or free-to-enter.
If a room is private, users can knock on it and ask to enter, the room’s owner will decide to let them in or not.
Posts can include media such as photos and videos.
Users are allowed to report inappropriate content/users, and also like and comment posts.
The Admin can daily check the database for reported content or users and take action for it, as well as manually edit data in the Database.
The design is clean, code is commented and project folders and files are well organized in the package.
• Check out the Features section below to see what this app does.
• Read the online Documentation to learn how to configure the template’s features and the database.
• Check out the demo Database, login as:
• Keep an eye to the Change Log on the bottom of this page when an update gets released.
BackendThe backend of this template is XServer, so you can either buy the XServer REST API an install it on your own VPS server, or create an account on XServer.app and a Database for this app.
After performing the configurations mentioned below, you will run the app and see no content, so Sign Up with a test user in order to create a test account and start testing the app.
NOTE: in case you want to implement your own backend to this template, you do not need to buy the XServer API, nor create an account on XServer.app, but please be aware that implementing a different backend to this template must be performed by you or your developers.
Extended LicenseAs per Envato Marketplace Terms, the Extended License applies to all applications that charge money to their users. In case your users will not be charged of money through your own version of this app, you can still buy it under a Regular license.
Therefore, you must buy this template under and Extended License if your plans are either one or more of the following:
- Add In-App Purchase or any other Payment Gateway in the source code and publish the app for free on the App/Play Store – NOTE: If you want to publish your own version of this application for FREE only, then you can still buy it under a Regular License.
- Publish this application as a PAID app on the App Store.
- Transfer the live app of your own verison of this app on the App/Play Store to another owner by selling your ownership on flippa.com or similar marketplaces.
FeaturesiOS Swift language – Native Xcode project – Edit the template as you wish with the power of Xcode and Swift.
Storyboard, iOS 11.0 and above, Universal – Run your app on all iOS devices
Backend with XServer – Built on a great and reliable BaaS that offers many features with just a few clicks, it’s super easy to create and set up a database on XServer.app, as well as use the XServer REST API hosted on your VPS server.
Create your own Rooms – Users are free to create rooms, choose a pre-defined icon, a title and set it as private or free to enter. They can also edit Rooms.
Search Rooms by keywords – In the Home screen you can type keyowrds and search for rooms, as well as sort Rooms by latest/oldest, or see only the current user’s Rooms.
Report inappropriate Users or Content – People can help the Admin by reporting abusive posts or users, this is a good feature to build a stable and reliable community.
Profile screen with avatar images – The account screen makes you know who’s in the community
Edit profile with Name, Username, Bio, Profile picture, and Email – Edit your profile and show people your identity, make yourself trustworthy.
Enter your favorite Rooms – When you enter a Room, you automatically get registered as Guest in the database. You are always free to exit as as you wish.
Notifications screen – Check out your account’s activity, from likes to comments and followers. If you tap a row you’ll be redirected to the User’s Profile screen.
Push Notifications – Users will receive notifications for likes, comments, and enter requests.
AdMob Interstitial ads – Get some revenue from full-screen advertisement banners.
Modern, clean design – The UI has been carefully crafted to offer the best user experience to your clients.
Online Documentation – Read the extensive guide of this template to be able to configure it properly.
PSD icons included in the package – App and buttons icons are stored into a PSD folder, for easy image replacement.
RequirementsThe latest official version of Xcode – Beta versions of an IDE usually never work 100% properly, and the code of this app has been written using the latest official version of Xcode and you can download it from the Mac App Store. You must use it and avoid Betas.
An Apple Mac computer, updated to its latest OS version – It’s always good to keep your macOS up to date, technology keeps growing and I follow its changes, as well as updating my templates every time a new OS gets released.
An Apple Developer Account with an active iOS Development Program – This is needed for you to publish apps on the iTunes App Store. You can still edit this template on code without that account, but you won’t be able to run it on your real iOS device since you’ll need a Team ID.
Basic knowledge of Xcode and Swift language – You don’t need to be a skilled or professional developer, anyway it’s recommended to have at least the basic knowledge of what you’re dealing with, in order to be able to customize this template and publish your applications on the App Store.
XServer API – You can either create an account and a Database on XServer.app, or buy the XServer REST API and host it into your own VPS server.
An active AdMob account – Unless you want to remove ads in this app, you need to sign up for an AdMob account to display them.
A real device to test the app before submitting it to the App Store – iOS Simulators may fail during tests, they are not reliable as a real device is, so I strongly recommend you to always run this application on a real phone/tablet. This is also suggested by Apple’s official Guidelines.
May 5, 2021
- Added the following keys and descriptions in the 'Info.plist' file:
• Privacy - Tracking Usage Description
** Here's a screenshot for your reference: https://i.postimg.cc/156kd2jc/att-infoplist.png **
- Imported these frameworks in the 'XServerSDK.swift' file:
- Added a function called 'requestATTPermission()' in the 'XServerSDK.swift' file
- Called that function into the 'viewDidLoad()' function of the 'Home.swift' file:
April 20, 2021
- Updated the AdMob framework files to version 8.3.0 (in the Frameworks folder)
- Edited the 'fireInterstitialAd()' function in the 'XServerSDK.swift' file
- Removed the GADInterstitialDelegate instances in the files where they are present
February 8, 2021
- Edited the 'XSSignUp()' and 'XSObject()' functions in the 'XServerSDK.swift' file, in order to get an aray of parameters and perform better API calls
- Added 2 more extensions in the 'XServerSDK.swift' file
- Edited all the 'let params' and 'var params' arrays in all the Swift files where they are present, in order to match the new code of the SDK and allow you to save the '&' character in a String column of your database.
February 4, 2021
- Added a line in the 'XServerSDK.swift' file:
let ROOMS_USERNAME_FULLNAME = "ST_unfn"
- Edited the following functions in the 'Home.swift' file:
- Edited the following functions in the 'CreateRoom.swift' file:
- Edited the following functions in the 'CreatePost.swift' file:
- Edited the following functions in the 'EditProfile.swift' file:
- Added a new item in the 'Rooms.json' file - in the 'Tables' folder of the product's package:
** ONLY IF THIS IS AN UPDATE FOR YOU: Besides comparing the new code with your old one and performing the changes mentioned above, you must Add a Column in your database called "unfn", of type String, then fill the empty cells with the username and full name of each Room's owner - something like "johndoe john doe" **
With this update, Users are able to also search Room authors by typing their usernames or full names in the search field on the Home screen.
Also, the app sends Push Notifications to all Room's guests when the owner publishes new articles.
February 1, 2021
- Edited the 'XSCurrentUser()' and 'XSGetPointer()' functions in the 'XServerSDK.swift' file
November 30, 2020
- Removed: self.showHUD() from the 'forgotPasswButt()' function in the 'Login.swift' file, and also from the 'resetPasswButt()' function in the 'EditProfile.swift' file
November 27, 2020
- Edited the 'timeAgoSinceDate()' function in the 'XServerSDK.swift' file by adding the following line: let now = Calendar.current.date(byAdding: .hour, value: 0, to: Date())! In this way, you'll be able to adjust the Time Zone difference by changing 0 into the number that matches your time zone. - Added a Reset password button in the 'EditProfile' controller in the Storyboard and its relative code in the 'EditProfile.swift' file
November 12, 2020
- First release, iOS 11.0 and above - Native Xcode project, Swift language - Compatible with all iOS devices