This is an SSR React application that creates a user from user input data, using their location it retrieves the timezone and it displays it on a table.
- React V19
- Express V4
- Firebase RealTime Database
- React Hook Form
- Typescript
- Yup Validation
- Jest testing
- React Testing Library
- Webpack Build
- Bulma CSS
- Create a user
- Update a user
- During a user update if the zip code changes then update timezone and coordinates
- Server uses pipeable stream to Client
- Form Input validation in client
- Validation on server
- View updated changes when user updates data
Create a .env.development file and add your open weather api key, timedb key.credentials, go to your firebase console and export your credentials. In the server file create a firebase_keys.ts file.
Install the dependencies and devDependencies, run a build then start the server.
npm i
npm run build
npm run devBecause we need the jsdom assertions for react testing the tests are split. To run the server tests use this command.
npm run test:serverFor UI tests use this commaand
npm run test:react