Objective
The project aims to create a web application using Vue.js for a blogging platform that supports user authentication, post creation, and media content handling. This frontend project integrates with the backend to provide a complete blogging experience.
Repository
- You can find the project repository on GitHub: https://github.com/Fulldroper/blog.vue
- back-end repo: https://github.com/Fulldroper/blog.node
- back-end post: /blog-node
Main Components
Vue.js
A progressive JavaScript framework used for building user interfaces. The application uses Vue Router for navigation and Vuex for state management.
Axios
A promise-based HTTP client for making requests to the backend API.
Vuex
A state management pattern + library for managing application state.
Vuetify
A Material Design component framework for Vue.js to provide a rich UI experience.
How It Works
User Registration and Login
The user can register and log in using forms that send requests to the backend API. User authentication status is managed using Vuex and tokens are stored in local storage.
Post Creation and Management
Users can create, edit, and delete posts. The posts are fetched from the backend API and displayed using Vuetify components.
Media Content Handling
Users can upload media files to their posts. The uploaded media is displayed within the posts.
Post Display and Navigation
Posts are displayed in a feed format with navigation handled by Vue Router.
Skills Acquired
Vue.js Development
Setting up and configuring a Vue.js application. Implementing components, routes, and state management using Vuex.
API Integration
State Management
Managing application state using Vuex. Handling user authentication and token management.
UI Design with Vuetify
Using Vuetify to create a responsive and visually appealing user interface. Implementing forms, navigation, and layout components.
Handling Media Content
Uploading and displaying media content within posts. Managing file uploads and handling form data.
Conclusion
This project provides practical experience in creating a comprehensive front-end application for a blogging platform, integrating with a backend API, and managing state and user authentication.