Demo Here: Vue-Fire-Tail
Try Logging with the following
Email Address: [email protected]
Password: test@12345
At times it get very irritating when you want to start your new project which is a firebase project in which you have to set Authentication Flow EVERYTIME. You have to add Routes, Protect your routes, create a Login & Register component, Style those component and have a nice Loading animation, Validate your login/register form. and much much more.
Here is Vue-Fire-Tail Boiler plate for you😊. Vue-Fire-Tail is powered by next-gen technologies like Vue 3 and Firebase 9 along with the power of Vite and Tailwind CSS v3.
- Email Password Authetication & Google Authetication
- Forgot Password Feature
- Login & SignUp forms validations
- Fallback Page (404 Page), Loaders and page transitions for smooth user experience
- Font Awesome Icons pre configured.
git clone https://github.com/sushil-kamble/vue-tail-fire.git my-project
yarn
Make sure you replace my-project with your own project name
If you don't have yarn installed
npm i
Remove yarn.lock as you will already have package.lock
- Go to Firebase console. Add Project. In project overview, click on the web icon and register the app. You will see
firebaseConfig object
, We will require its details further. Click on Authetication, then on set up sign-in method. EnableEmail/password authentication
&google authentication
. - Create a
.env.local
file in your project's root. Example of.env.local
file is given below. Make sure you replaceYOUR_FIREBASE_CONSOLE_DETAILS
with yourfirebaseConfig object
details.
VITE_APP_API_KEY=YOUR_FIREBASE_CONSOLE_DETAILS
VITE_APP_AUTH_DOMAIN=YOUR_FIREBASE_CONSOLE_DETAILS
VITE_APP_DATABASE_URL=YOUR_FIREBASE_CONSOLE_DETAILS
VITE_APP_PROJECT_ID=YOUR_FIREBASE_CONSOLE_DETAILS
VITE_APP_STORAGE_BUCKET=YOUR_FIREBASE_CONSOLE_DETAILS
VITE_APP_MESSAGING_SENDER_ID=YOUR_FIREBASE_CONSOLE_DETAILS
VITE_APP_APP_ID=YOUR_FIREBASE_CONSOLE_DETAILS
- That's It ! Finally run the application
yarn dev # OR npm run dev
- Home Page
- Login Page
- Sign Up Page
- Forgot Password Page
- 404 Page
- Profile Page -
Auth Required
- Database Page -
Auth Required
- Class suffixed with
t-
will be found/src/assets/index.css
, they are basically global stylesSome basic html elements and classes are already configured check out,
/src/assets/index.css
useAuthState
in/src/firebase.js
returns{ user, error, isAuthenticated }
useSignOut
in/src/firebase.js
- Signs Out UsergetUserState
in/src/firebase.js
- Returns promiseisValidEmail
/src/helpers/index.js
function returns true if email is validLoading
in/src/components/Loading.vue
- Loading spinnerDialog
in/src/components/Dialog.vue
- Headless UI dialog
- Font -
Ubuntu (font-text)
&Goldman (font-heading)
- Primary Color - Tailwind -
colors.sky["500"]
- Secondary Color - Tailwind -
colors.slate["700"]
- Background Color - Tailwind -
.bg-secondary/90
- Error Color - Tailwind -
colors.red["500"]