This project is a minimal boilerplate meant as a starting point for developing new web applications.
It was originally created through create-react-app
but was later migrated to vite
for faster development.
It is a work in progress and will be continuously updated with new features and improvements.
- User registration and login, using AWS Amplify
- Using GraphQL queries to connect to a DynamoDB database holding user data
- MUI for user interface
- Typescript because static typing is awesome
- ESLint and Prettier configured
- Test setup with Vitest
-
AWS CLI installed and configured
-
AWS Amplify CLI installed
npm install -g @aws-amplify/cli
yarn global add @aws-amplify/cli
-
Amplify configured
- Run command
amplify configure
and follow the instructions to create an IAM user with programmatic access and admin privileges
- Run command
You will need to initiate a new Amplify project through the AWS CLI for the authentication to work. Then you'll need to add the authentication resource to the project, and finally push your changes. Run the following commands in your terminal and follow the instructions:
amplify init
amplify add auth
- choose default configuration and user as the sign-in methodamplify push
- to push your changes to the cloud, enabling logging in and registering users
TODO: Write more specific instructions for setting up amplify and graphQL
Here are some useful additions that are not currently included. If you open this file in your IDE, you can run these commands by clicking on them.
yarn add lodash
- Lodashyarn add @types/lodash -D
yarn add react-router-dom localforage match-sorter sort-by
- React Routeryarn add react-redux @reduxjs/toolkit
- Reduxyarn add react-hook-form
- React Hook Formyarn add react-use
- React Use
Miscellaneous:
yarn add victory @types/victory
- library for creating chartsyarn add video.js
- video player libraryyarn add @types/video.js -D
npx storybook init
- Storybook
- You can run
yarn start
to start the development server,yarn test
to run the tests, andyarn build
to build the app for production.
yarn lint
will run ESLint and Prettier on the codebase and give you an error report.yarn lint:fix
will run ESLint and Prettier on the codebase and fix any errors that can be fixed automatically.yarn format
will run Prettier on the codebase and fix any errors that can be fixed automatically.