The following tasks were preformed in order:
-
Created a basic Nuxt.js app using
create-nuxt-app
and the following options:- Programming language:
TypeScript
- Package manager:
Yarn
- UI framework:
None
- Template engine:
HTML
- Nuxt.js modules:
None
- Linting tools:
ESLint, Prettier
- Testing framework:
None
- Rendering mode:
Single Page App
- Deployment target:
Server (Node.js hosting)
- Development tools:
None
- Continuous integration:
None
- Version control system:
Git
- Programming language:
- Installed and configured
tailwindcss
. - Added custom colors and size values to the tailwind config file
tailwind.config.js
- Created a basic
PersonalityCard
component. - Created a
vuex
store instore/user.ts
for thePersonalityCard
component's state. - Installed and integrated
axios
to fetch data from Random Data API. - Displayed fetched data on the card component.
- Added a placeholder bio to the fetched user using the
lorem-ipsum
package. - Implemented a random student button.
- Split the
PersonalityCard
into multiple components:
ChipLabel
,PersonalityCard
,PersonalityCardDetails
,PersonalityCardHeading
,StyledHeader
- Made the card responsive and applied minor visual tweaks.
- Adjusted the layout of
PersonalityCardHeading
to be vertical on small screens. - Added a loading spinner component:
LoadingSpinner
. - Handled text overflow on the
ChipLabel
component. - Added service worker caching by adding the
@nuxtjs/pwa
package and modifying thenuxt.config.js
file according to the docs. - Replaced the loading spinner with a loading skeleton component:
LoadingSkeleton
. - Replaced error text with a proper template and a more clear message.
- Updated the package name and app title.
- Switched font to
Catamaran
using the@nuxtjs/google-fonts
package.
- Clone the repository.
- Install the necessary dependencies by running
yarn install
. - Start the development server with
yarn dev
.