Project Description
Hi,
I want to build a real mobile app called AppSpot for iPhone and Android.
The idea is that many small businesses can have their own “mini app” inside one main app.
The app itself will be downloaded from App Store and Google Play. When a customer opens the app, they can choose a business/store from a dropdown or list. After choosing a business, the app should load that business’s own design, content and menu.
Example:
A customer opens AppSpot and chooses “BowFun ”.
The app should then show:
BowFun logo
BowFun colors
BowFun front page
BowFun bottom menu
BowFun contact information
BowFun opening hours
BowFun offers/campaigns
Links to their mobile website, booking page, webshop, menu etc.
The customer should also be able to switch to another business later. If they choose another business, the app should change design and content based on that selected business.
The app icon and app name can stay as the standard AppSpot icon/name.
The important part is that inside the app, each business should feel like it has its own app universe.
Main app features
The customer app should include:
Business/store selector
Save selected/favorite business
Dynamic logo
Dynamic colors
Dynamic front page
Dynamic bottom navigation menu
Contact information
Opening hours
Offers/campaigns
WebView/link module for mobile website, booking, webshop or external pages
Push notification permission
Push notifications from the selected/followed business
Option to switch business
Business/dealer backend
Each business should have its own login.
From the business backend, they should be able to manage only their own app profile.
They should be able to:
Upload/change logo
Choose primary color
Choose secondary color
Edit business name
Edit opening hours
Edit contact information
Add mobile website URL
Add booking URL
Add webshop URL
Create/edit/delete offers
Create/edit bottom menu items
Send push notifications to customers who follow or have selected their business
See number of followers/users
A business must NOT be able to see or edit other businesses.
Super admin backend
I need a main admin panel for myself.
As super admin, I should be able to:
Create new businesses
Edit businesses
Delete businesses
Activate/deactivate businesses
Block business login
Reset business password
See all businesses
See subscription/payment status manually
See number of followers per business
See push notification history
Disable a business from appearing in the app
Block only the business backend login while keeping the business visible in the app
There should be two different statuses:
Block login
The business cannot log in to the backend, but their app profile can still be visible.
Deactivate business
The business should no longer be visible in the app.
Push notifications
The push system should work like this:
Customer selects or follows a business
Customer accepts push notifications
Business can send push notifications from their backend
Only customers connected to that business should receive the notification
Example:
BowlnFun Haderslev sends a push message.
Only users who selected/follow BowlnFun Haderslev should receive it.
Suggested database structure
Example tables:
stores
id
name
slug
logo
primary_color
secondary_color
website_url
booking_url
webshop_url
opening_hours
phone
email
address
is_active
login_blocked
subscription_status
created_at
updated_at
dealer_users
id
store_id
name
email
password
role
is_blocked
created_at
app_menu_items
id
store_id
title
icon
type
url
sort_order
is_active
Menu item types can be for example:
home
offers
contact
webview
booking
webshop
external_link
offers
id
store_id
title
description
image
start_date
end_date
is_active
app_users
id
device_id
push_token
selected_store_id
created_at
updated_at
store_followers
id
store_id
app_user_id
push_enabled
created_at
push_notifications
id
store_id
title
message
sent_at
sent_by
status
Important
The app should not just be a simple WebView app.
It should be a real app with native structure, dynamic design, dynamic bottom menu and push notifications.
Some pages can open inside a WebView, for example booking page, webshop or mobile website, but the main app navigation and business profile should be controlled by the backend.
Technology
I am open to suggestions, but I think the app can be built with:
Flutter or React Native for iOS/Android
PHP/Laravel or Node.js for backend
MySQL/MariaDB database
Firebase Cloud Messaging for push notifications
I want to start simple with an MVP, not a very complex system.
The first version should include:
Main app
Business selector
Dynamic business profile
Dynamic bottom menu
Business login
Super admin login
Offers
Opening hours/contact info
WebView links
Push notifications
Block/activate/delete business from admin panel
Please give me a price and timeline for this MVP.