Skip to content

"Find a Coach" is a web application built with Vue.js, Vue Router, and the Composition API. The app includes features like user authentication, coach registration, messaging, and coach filtering.

Notifications You must be signed in to change notification settings

yacineXP/vue-final-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Vue
Vue Project [Learning]

Project Description | Tech Stack and Libraries | How it Works | Code Examples | Acknowledgements

Thumbnail-9.png

🚀 Project Description

"Find a Coach" is a web application developed using Vue.js and various Vue.js ecosystem tools such as Vue Router and the Composition API. This application allows users to search for and connect with coaches who specialize in frontend, backend or career development. The app includes features such as user authentication, coach registration, user-coach messaging, and coach filtering. This project was developed as part of the "Vue - The Complete Guide" course on Udemy, and showcases the skills learned in the course in developing a complete, production-ready web application using Vue.js."

🛠️ Tech Stack and Libraries

  • Vue.js: A progressive JavaScript framework for building user interfaces.
  • Vue Router: The official router for Vue.js. It provides a way to declaratively map routes to your Vue components.
  • Vuex: A state management library for Vue.js. It provides a centralized store for all the components in an application, allowing for more efficient and predictable state management.
  • Axios: A promise-based HTTP client for the browser and node.js. It is used in this project to make API calls to the backend server.

⚙️ How it Works

Find A Coach is a web application built with Vue.js, which allows users to find front-end, back-end, or career coaches. Here's a breakdown of how the application works:

- Home Page - When users visit the home page, they see a list of available coaches, as well as a search bar where they can search for specific coaches by name, specialty, or location.

- Coach Profile - When a user clicks on a coach from the list, they are taken to that coach's profile page. This page includes details about the coach, such as their name, picture, location, specialties, and pricing.

- Login and Sign Up - Users can sign up or log in to the application to save their favorite coaches, as well as to create and manage their own coach profiles.

- Contact Form - Users can contact coaches directly through the application by filling out a contact form on the coach's profile page.

- Admin Dashboard - For coaches who have created a profile, the application provides an admin dashboard where they can manage their profile, including editing their specialties, availability, and pricing, as well as viewing and responding to messages from users.

Overall, the application uses a Vue.js front-end with Vuex for state management, Vue Router for routing, and Axios for API requests to a back-end built with Node.js and Express, using MongoDB for data storage.

💡 Features

1. User authentication : Users can sign up and log in to the app to access personalized content and features.

2. Coach search : Users can search for coaches based on their area of expertise, availability, and pricing.

3. Coach profiles : Coaches can create profiles that showcase their experience, education, and areas of expertise.

4. Centralized state management with Vuex : The Vuex store provides a centralized state management system for the application, making it easier to manage and share data between components.

5. Modularization : The store's state, mutations, actions, and getters can be modularized and organized into separate files, making it easier to manage complex state structures and application logic.

6. Dynamic routing with route parameters : The Vue Router allows for dynamic routing in the application, enabling components to be loaded and unloaded based on the current route.

7. Lazy-loading routes and components : Usage of lazy-loading to improve the performance of the application by loading routes and components on demand, rather than all at once.

8. Navigation guards : The router supports route guards, allowing for the implementation of authentication and authorization logic to restrict access to certain pages or components.

📚 Acknowledgements

This project was created with the help of the course "Vue - The Complete Guide (incl. Router & Composition API)" by Maximilian Schwarzmuller. Many of the concepts and techniques used in this project were learned from this valuable resource.

About

"Find a Coach" is a web application built with Vue.js, Vue Router, and the Composition API. The app includes features like user authentication, coach registration, messaging, and coach filtering.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published