Releases: weaponsforge/my-phonebook
Releases · weaponsforge/my-phonebook
my-phonebook_v1.0.3
Summary
March 15, 2023
- Create a Firebase Auth state listener using a custom React hook, Context and Redux #76
- Usage:
const { authUser, authLoading, authError, authStatus } = useAuth()
- Usage:
- Store the Firebase Auth data on the users redux store (userSlice).
- These are available when using
useAuth()
- Optionally accessible using
const { authUser, authLoading } = useSelector(state => state.users)
- These are available when using
- Create the
ProtectedPage
component wrapper (HOC) that redirects signed-out users to the /login page when trying to access a private (protected) route component, and grants access when signed-in- Usage:
export default ProtectedPage(MyComponent)
- Added this auth checker to the userProfile, and Dashboard page components
- Usage:
- Add the
"no-trailing-spaces": "error"
eslint rule and lint files.
What's Changed
- Feature/weaponsforge 76 by @weaponsforge in #85
- v1.0.3 by @weaponsforge in #86
Full Changelog: v1.0.2...v1.0.3
my-phonebook_v1.0.2
Summary
March 14, 2023
- Create a Firebase user using the Firebase web auth's createUserWithEmailAndPassword() method on the login page
- The view user profile page
- Authenticate users on the backend, #10
- Send system notification emails from the backend using Gmail OAuth2, #11
- Create the custom registration API endpoint, #12
- This is accessible on
POST http://[BASE_API_URL]/api/account/action?email=someone@gmail.com&mode=send_verification
- This is accessible on
- Create the custom verify user email API endpoint, #13
- This is accessible on
POST http://[BASE_API_URL]/api/account/action?verifyEmail&actionCode=GJLPOCYRFJb3eV88
- This is accessible on
- Create a custom email action handler page on
/client/account
- following the reference on: https://firebase.google.com/docs/auth/custom-email-handler
- Deploy the (development) server to vercel on push to the
dev
branch.- Development server URL: https://myphonebook-app-dev.vercel.app/
- Deploy the (production) server to vercel on create of new Releases from the
master
branch.- Production server URL: https://myphonebook-app.vercel.app/
- Partial API documentation, #45. The API documentation will be updated as more API routes are added to the server.
- Running
"npm run docs"
under the/server
directory will generate the API documentation in"/server/public/docs"
- Running
- Create a styled HTML layout template for email notifications, #71
- Create an API endpoint for sending the custom reset password email, #70
- This endpoint is available on
POST /api/account
withmode=send_reset
andemail
and body parameters
- This endpoint is available on
- Create an API endpoint for handling setting a new password from the reset password URL link sent to user's email
- This endpoint is available on
POST /api/account
withmode=resetPassword
andactionCode
body parameters
- This endpoint is available on
- Send a welcome email message to users after a successful email verification
- Handle the password request on the UI (from email link)
- Refactor server functions and directory names
- Refactor: client components, pages route, and libs
- Send a reset password email from the recoverPassword page, #20
- Send an email verification to user's email on sign-up. Call the custom backend user registration API mentioned on Issue #12 from the registration page UI, #16
- Create and use custom material ui components (transparent textfield, loading button and snackbar)
- Create a
usePromise
hook for managing async methods' loading status, response and errors as React states - Create a
PromiseWrapper
function for wrapping async methods to return{ response, status, error }
information - new lib
useSync
: we haveuseSyncLocalStorage(string)
and anduseSyncSessionStorage()
, to handle client side state globally - Use new project and deployment tokens for the mentioned cloud services on item #82
- The live production apps are now available on:
- The live development apps are now available on:
What's Changed
- Feature/weaponsforge 11 by @weaponsforge in #69
- Feature/weaponsforge 71 by @weaponsforge in #72
- Feature/viky 16 by @vikyw89 in #73
- Feature/viky-24 by @vikyw89 in #74
- Feature/weaponsforge 70 by @weaponsforge in #75
- Refactor/viky 77 by @vikyw89 in #78
- Feature/weaponsforge 20 by @weaponsforge in #79
- Fix/weaponsforge 20 by @weaponsforge in #80
- Refactor/viky 78 by @vikyw89 in #81
- Feature/weaponsforge 82 by @weaponsforge in #83
- v1.0.2 by @weaponsforge in #84
Full Changelog: v1.0.1...v1.0.2
my-phonebook_v1.0.1
Summary
March 4, 2023
- Register page, and minor changes + refactor on login, header footer, #17
- Forgot password page UI, #21
What's Changed
- Feature/viky-19 by @vikyw89 in #64
- Feature/viky 17 by @vikyw89 in #66
- Feature/viky 21 by @vikyw89 in #67
- v1.0.1 by @weaponsforge in #68
Full Changelog: v1.0.0...v1.0.1
my-phonebook_v1.0.0
Summary
March 3, 2023
Initial Release
Client app setup
- Create a barebones NextJS in /client, #3
- Scaffold commonly-used directories under the /client directory
- Make NextJS's static export compatible for hosting on GH Pages
- Add sample containers and components
- Progress on login UI, #62
Firebase
- Create a Firebase project for the development environment, #7
- Integrate the development Firebase project to the client app
- Deploy the client app to the development Firebase Hosting site on push to the
dev
branch - Create a Firebase project for the production environment, #8
- Integrate the production Firebase project to the client app
- Deploy the client app to this repo's GH Pages site on create of new releases
Server app setup
- Set-up a basic express app in the
/server
directory, #6
- Enforce using NodeJS v18.42.0 by default, #60
- Trigger the lint GH actions workflow on push to any branch except master
- Dockerize the client and server apps for localhost development mode, #49
docker compose -f docker-compose.dev.yml build docker compose -f docker-compose.dev.yml up docker compose -f docker-compose.dev.yml down
- Dockerize the client and server apps for localhost production mode, #49
docker compose -f docker-compose.prod.yml build docker compose -f docker-compose.prod.yml up docker compose -f docker-compose.prod.yml down
What's Changed
- v0.0.0 by @weaponsforge in #1
- v0.0.1 by @weaponsforge in #2
- v0.0.2 by @weaponsforge in #52
- chore: Create a barebones NextJS in /client by @vikyw89 in #53
- Feature/weaponsforge 3 by @weaponsforge in #54
- Feature/weaponsforge 6 by @weaponsforge in #55
- Feature/weaponsforge 49 by @weaponsforge in #56
- Feature/weaponsforge 7 by @weaponsforge in #57
- Feature/weaponsforge 8 by @weaponsforge in #58
- Fix/weaponsforge 8 by @weaponsforge in #59
- Fix/weaponsforge 60 by @weaponsforge in #61
- Feature/viky-19 by @vikyw89 in #62
- Feature/vicky 19b by @weaponsforge in #63
- v1.0.0 by @weaponsforge in #65
New Contributors
- @weaponsforge made their first contribution in #1
- @vikyw89 made their first contribution in #53
Full Changelog: https://github.com/weaponsforge/my-phonebook/commits/v1.0.0