Skip to content
/ thejokes Public template

A Next.js application fetching and displaying jokes from a public REST API

License

Notifications You must be signed in to change notification settings

cvrlnolan/thejokes

Repository files navigation

The Jokes

A Next.js application that fetches and displays data from the public JokeAPI service provider. Live demo available at: https://thejokes.vercel.app

Description

The application fetches data about jokes which can customized according to their category, flagged topics or searched string value and displays the results to the frontend user.

Installation

  1. To get this project files locally on your machine, you can clone this repository by running the following command on your terminal or command line:
git clone https://github.com/cvrlnolan/thejokes
  1. Install all the dependency packages found in the package.json file by running yarn install or npm install from the project root directory.

  2. To start the development server of the application, run npm run dev or yarn dev. This should log some start-up application information & display the development server url: http://localhost:3000. Visit http://localhost:3000 to view your application.

Usage

General

This application was built reflecting the MVC architecture and the main dependencies(all found in the package.json) of the application are organised as so:

Other important services & dependency libraries of the application include:

  • axios: An http client to fetch urls and make api calls or requests within the application.
  • swr: To fetch and revalidate data on the client-side of the application while keeping the UI reactive.
  • react-transition-group: An animation library from which PrimeReact components use for smooth transitions.

Directives

The application is organized from the root(.) as follows:

  • ./page/ folder(integrated by NextJS) contains the UI Views for the application with the exception of the ./page/api/\* sub-folder.
  • ./page/api sub-folder(integrated by NextJS) contains serverless and NodeJS backend code for the application. All of the request to the Marvel Comic API endpoint are found in this subfolder.
  • ./assets/ folder contains pre-defined data selections to be used by the appliction.
  • ./components/ folder contains coded UI layouts to be used through out the application.
  • ./styles/ folder(integrated by NextJS) contains the global style of the application accessible by all components.
  • ./public/ folder(integrated by NextJS) contains global files to be shared through the application. You can store static images here.

Absolute imports to any of these folders through the application are configured in the jsconfig.json file in the root.

The application's code source contains inline comments which will provide further help and guidance on how an important piece of module or component works. The code quality was tested with JSLint.

Deployment

You may eventually want to deploy a live customized version of your app in a future instance. Vercel platform is suitably built fo the deployment of NextJS application and more as they have an integrated environment to deploy directly from your own Github Repository.

Support

If any worries, bugs or problem arises in the future, you can create an issue, contribute or contact me via:

Roadmap

No planned schedule for this project. But might do some alternative functionality updates with time.

License

GitHub

GitHub last commit GitHub contributors GitHub issues GitHub repo size

GitHub followers Twitter Follow

About

A Next.js application fetching and displaying jokes from a public REST API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published