- Remixjs
- MongoDB(Database)
- Prisma(ORM)
- XummPkce
- xstate: StateMachine
All the logic for signup and signin are present inside the xstate: statemachine
The UI is separated from the logic: index.tsx
- Login without Registering.
- Register.
- Try to Register once again.
- Login.
- Once logged in, click on Logout button.
- Login once again.
- Delete your account.
- Try to login.
- Register.
- Login.
npm install -force
- Create database and fill in appropriate environment variables.
DATABASE_URL="mongodb+srv://user:[email protected]/xamanAuth?retryWrites=true&w=majority"
SESSION_SECRET=""
XummAPI = ""
XummSecret = ""
You can get XummAPI and XummSecret from https://apps.xumm.dev/
(While you are at apps.xumm.dev portal -> go to settings and in the Origin/Redirect URIs enter http://localhost:3000/ Change the port number appropriately.)
Also make sure to change the XummAPI key in utility/xaman.config.ts file.
From your terminal:
npm run dev
This starts your app in development mode, rebuilding assets on file changes.
First, build your app for production:
npm run build
Then run the app in production mode:
npm start
Now you'll need to pick a host to deploy it to.
If you're familiar with deploying node applications, the built-in Remix app server is production-ready.
Make sure to deploy the output of remix build
build/
public/build/