Pages Overview

This section states the purpose of each page.

Introduction

In this summary, we will describe each page and its content. The Page Element is the fundamental one that contains all the other elements.
💡
Tip: See Bubble Reference for more information about Pages element https://bubble.io/reference#Elements.Page 🙂

Pages

index

This is the main page typically encountered first on the web app that usually contains links to the other pages of the site.
A homepage includes a variety of menus that make it easy for users to find the information they need.
It is the main navigation page. From there, users can go to signup/login, and view categories and sections containing information that gives a better understanding of how the platform works.
Image without caption
It comes with a cool animation feature, here:
Image without caption
The group elements can be found in the group element called "Group right":
Image without caption
In case you'd like to modify the animation, you can find the responsible workflow actions here:
Image without caption

admin

This page is designed to manage platform data, e.g. Users, Items, Payments… and others. Only users with admin rights are able to access this page (in read-only mode), and those users who have access rights can edit or delete anything here.
The admin dashboard is a one-page component of the template designed to display useful information about jobs, users, transactions, and categories.
Here you can also view the platform's Stripe account's balance, ban users, add new categories and issue refunds.
Image without caption
💡
Tip: Initially, your Design tab may be lacking elements but no worries! They are simply hidden in the Bubble editor.
And this is how you can unhide👀them:
Image without caption
The first section displays Balance & Commission data, where you can change the platform commission (App Fee). It also displays the list of all Transactions, where you can refund the paid amount to the freelancers.
Platform commission feature can be found here:
Image without caption
Refund feature can be found here:
Image without caption
The next two sections are simply listing data about Users and Jobs, where you can search for data, ban users, reorder data by ascending or descending order:
Image without caption
Ban User feature can be found here:
Image without caption
It changes the Banned status to "yes", as well as adding the reason description.
Finally, the 4th section is where you can find Category & Skills:
Image without caption
Which can be found in your Data -> Option sets -> Category, here:
Image without caption
⚠️
Admin: See the instructions on how to grant Admin Rights in your template.

employer

This page is for those who joined the website as an employer. It shows information such as profile photos, payment methods, profile information, and notification settings.
Here, an employer can update profile information, payment method, password, and email and set new notification settings.
Image without caption
Here is how to unhide👀the groups:
Image without caption
In case you landed on the platform for the first time, you'll need to provide a Billing Method, and its responsible workflow can be found here:
Image without caption
Then updating the employer's Stripe verification to "yes":
Image without caption
And in case you want to change the existing billing method, it can be done here:
Image without caption

employer-dashboard

This page was designed for employers only, with the purpose of managing projects.
Here, an employer can start creating a new project or edit an existing one, accept/decline a job offer, and pay for the project as well as complete a project or delete one.
It features an Inbox 📩 for messages and chats with freelancers, a reports tab for viewing invoices, and a notifications tab.
Image without caption
Here is how to unhide👀the groups:
Image without caption
Let's say you'd like to check the workflow responsible for each section from the left menu, e.g. My Projects:
Image without caption
It is passing a key q with the value "projects", so it actually checks for this key in order to display the appropriate group:
Image without caption

find-freelancer

This page was designed mainly for employers to search for freelancers however freelancers can also visit it to check their competition.
Here, an employer can search by name or tags or use filters to find the right candidate.
An employer can send messages as well as job invitations to freelancers or just add them to a liked list. The freelancers on the other hand can do pretty much the same without the option of sending messages, invitations, and adding other freelancers to their liked list.
Image without caption
The marketplace may become so overpopulated with job candidates, that it becomes overwhelming🤯to search for.
But no worries - the Like❤feature comes to the rescue:
Image without caption
When you click on the heart-icon, and the current candidate will be added to your Saved tab. The responsible workflow can be found here:
Image without caption
First, it checks whether or not the employerFavoriteFreelancers list contains that User, and if it doesn't, the liked candidate will be added to the list:
Image without caption

find-job

This page was designed mainly for freelancers to search for jobs. A freelancer can use filters or search by title or tags to find desired jobs.
Also, there is the option to send 💬messages to employers and add jobs to a liked list.
Image without caption
One of the most important features when searching for jobs by filters - reset all filters, so you don't have to remove each section manually.
Image without caption
The workflow can be found here:
Image without caption
Which is triggering a custom event called reset_states:
Image without caption
This event is running multiple actions to simply reset all the group states from each filtering section.

freelancer

This page was designed to display a freelancer's profile. Freelancers can also edit✏their own profiles on this page.
Image without caption
You can find👀the groups here:
Image without caption
If you'd like to where Skills options are stored, go to Data -> Options sets -> Tag:
Image without caption
And for Languages and their proficiency, the Option sets are Language Type and Language Proficiency:
Image without caption
Image without caption

freelancer-dashboard

This page was designed for freelancers with the purpose of managing their jobs. The freelancer can track time while working on "by hour" payment type projects, send a project for approval when he finished the job, and view paid jobs.
He can chat with employers via inbox or view his a = ba=b notifications.

My jobs

Image without caption

Contracts

Image without caption

Inbox

Image without caption

Reports

Image without caption

Notifications

Image without caption
Here is how to unhide👀the groups:
Image without caption
Uplance is using the Timer⏲functionality which updates in real-time even if you close the browser tab. It's workflow events and respective formulas can be found here:
Image without caption

freelancer-settings

This page is mainly used by freelancers to edit their personal information as well as a bridge to their freelancer-dashboard and freelancer pages.
More specifically freelancers can change there their name and location, password and email, add new working categories and tags, set their account's visibility and expertise level.
Image without caption
The experience level💪is a RepeatingGroup pulling data from Option set ExpertiseLevel:
Image without caption
And when you click on any of the 3 items, it is making changes to your freelancerExpertiseLevel field, with the current item that has been selected:
Image without caption

freelancer_onboarding

This was designed for onboarding freelancers. Here, a freelancer is asked to provide all the information that might be needed for an employer to make a decision to hire him.
Only after all the details have been submitted, the freelancer can start working on the platform.
💡
Tip: If the freelancer didn't complete all the steps he will be prompted to resume where he has left until all the details are submitted.

​⚙ Expertise

Image without caption

Expertise Level

Image without caption

​🎓 Education

Image without caption

Employment

Image without caption

Languages

Image without caption

Hourly Rate

Image without caption

Title & Overview

Image without caption

Profile Photo

Image without caption

Location

Image without caption

Phone

Image without caption

Stripe

This is the "Connect stripe" button, if you'd like to check the Stripe workflows for registering a seller account:
Image without caption
It has a Conditional that checks whether or not the Current User's Stripe Seller account's Id is empty.
If not empty, meaning the seller ID has been saved into the database after successful registration, the button's text is changed to "Connected" and it becomes non-clickable:
Image without caption
The workflow is simply registering the seller by using the Current User's email:
Image without caption
💡
Due to Bubble's Stripe plugin, the Seller ID registration is a hidden process in your Bubble database, which happens in the background. It is not possible to find it in your workflows as it happens on a hidden page as well. This page has already been specified in your Stripe dashboard: https://bubble.io/poststripeauth.

job-detail

This page was designed to display a Job. It contains all the details that were submitted by the employer upon its creation.
The freelancers will submit their proposals on this page while also having the option to save the job in their liked list.
Image without caption
The main purpose of this page is submitting a job proposal. The button can be located here:
Image without caption
When submitting a proposal, the Terms group appears and contains the information about employer's pricing. If you, as a freelancer, agree to work on this project - just submit the proposal. The submission workflow can be found here:
Image without caption
Also, this template comes with a cool free🔌plugin called Air Copy To Clipboard, which allows you to copy the link to your clipboard:
Image without caption

job-post

This page was designed for employers to post their projects. It has a list of steps that have to be completed for the job to be published.
💡
Tip: While submitting all the job-related information, the status of the job being created will be Draft and will change to Open as soon as all the details are provided and it will be visible for freelancers. There is also the option to leave and come back later and continue submitting job details at the step you left at.

Title

Image without caption

Description

Image without caption

Details

Image without caption

Expertise

Image without caption

Visibility

Image without caption

Budget

Image without caption

Review

Image without caption
Here is how to unhide👀the groups:
Image without caption
When the "Publish" button is clicked, it changes the Current Job's status to Open:
Image without caption
Also, this button comes with a couple of Conditionals that influence its functionality.
If the filledJobPostMenuItems already contains this job, the text changes to "Update", meaning this job exists and you are able to edit it:
Image without caption
If Current User's status of Banned is "yes", the text changes to "Unavailable" and this button becomes non-clickable, since the user is banned from using the platform feature.

login

This page is used for creating an account or logging in to an existing one. To access it, users will click on “Signin” button in the header. Besides standard registration, users can also use their social media accounts (e.g. Google or Facebook) to register or log in.
On this page, users are offered a demo user to log in and test all the template features. For detailed information on how to remove this button, see the Remove Demo Login section.
This page is used for users to log in or to sign up. Users can as well log in or sign up to the platform via social media: Facebook or Google.
Image without caption
You can unhide👀the elements here:
Image without caption
The "Sign Up" button can be found here:
Image without caption
Uplance is using 2 different userType values: Freelancer and Client (Employer). At the login or signup stage, it is required to select one of the user types that reflects your account.
💡
Tip: This page comes with demo logins that have been placed for testing purposes. They may be removed from your app.
To signup via a social network, Uplance is using the Facebook and Google plugins that require configuration. Their workflows can be found here:
Image without caption
Image without caption

my-feed

This page is mainly used for freelancers to search for jobs or just to check job recommendations. It is also used to edit freelancer information like skills and categories, profile visibility and availability.
Image without caption
The left menu with My Feed, Recommended and Saved tabs can be found here:
Image without caption
If you'd like to find the category options, go to Data -> Option sets -> CategoryType:
Image without caption

reset_pw

This page is used for resetting the password.
Image without caption
The "Confirm" button is placed in this group here:
Image without caption
When confirming the new password, it is resetting based on the input values:
Image without caption
And then simply redirect back to the login page.

404

This is a custom-designed page for 404 redirect errors, informing a user that the requested web page cannot be found, or it doesn't exist.
Image without caption
The "Back to Home" button can be found here:
Image without caption
This page has a single-button workflow, to redirect users back to the index page, since the entered page does not exist:
Image without caption