Skip to content

marteenaf/react-app-challenge

Repository files navigation

React App Challenge

This project displays a simple app with:

  • A login page
  • A dashboard page displaying local data

Project was created using Vite create app command

The app can be run locally on port 5173.

npm install npm run dev

Folder Structure

  • src/components: 'dumb' components re-used across the app, contain no business logic -> each component is grouped in their own folder with associated style files
  • src/features: folder for grouping components by feature -> each component is grouped in their own folder with associated style files
  • src/layouts: folder for components that provide page layouts
  • src/pages: folder for page components -> generally correspond to routes or are imported directly in App.tsx
  • src/styles: folders for files with global styles
  • src/types: folder for storing types used across the app
  • src/utilities: folder for additional functions that can be reused across the app

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

  • Configure the top-level parserOptions property like this:
export default tseslint.config({
  languageOptions: {
    // other options...
    parserOptions: {
      project: ['./tsconfig.node.json', './tsconfig.app.json'],
      tsconfigRootDir: import.meta.dirname,
    },
  },
})
  • Replace tseslint.configs.recommended to tseslint.configs.recommendedTypeChecked or tseslint.configs.strictTypeChecked
  • Optionally add ...tseslint.configs.stylisticTypeChecked
  • Install eslint-plugin-react and update the config:
// eslint.config.js
import react from 'eslint-plugin-react'

export default tseslint.config({
  // Set the react version
  settings: { react: { version: '18.3' } },
  plugins: {
    // Add the react plugin
    react,
  },
  rules: {
    // other rules...
    // Enable its recommended rules
    ...react.configs.recommended.rules,
    ...react.configs['jsx-runtime'].rules,
  },
})

About

contilio react challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published