# Roadmap for yauth.io This document contains detailed information about the project scope and future roadmap ## V 0.1.0 [To be released by 20-August-2021] - [ ] Create boilerplate for server - [ ] Use golang as server side language - [ ] Use [Prisma.io](https://github.com/prisma/prisma-client-go) as ORM - [ ] Define base schema for user - [ ] Define the auth schemes and variables required for that - [ ] Basic Auth (Username & Password based) - [ ] Google Login - [ ] Github Login - [ ] Twitter Login - [ ] Facebook Login - [ ] Login with magic link (Send magic link mail) - [ ] Add [mailing server](https://github.com/emersion/go-smtp) to send the magic link - [ ] Allow configuring the master password to access the console (If not set UI console can be accessed by anyone) - [ ] Allow configuring mailing server - [ ] Allow configuring RSA/HSA Keys for oauth - [ ] Allow configuring the DB client - [ ] Allow configuring the Secret - [ ] Allow configuring callback urls - [ ] Allow configuring redis, should be optional if not used use the memory to store session - [ ] Use [gorilla sessions](https://github.com/gorilla/sessions) for session management - [ ] Create REST API - [ ] Login - [ ] Logout - [ ] Authorize [Currently checks for valid token & if token is present in session] - [ ] Should authorize using cookies - [ ] Should authorize using Authorization header - [ ] Role based access [Checks for particular role in JWT] - [ ] Register - [ ] Authorize UI console - [ ] Create a UI console to configure the above parts - [ ] Create next js app - [ ] Use [Chakra UI](https://chakra-ui.com/docs/getting-started) for quick component boostraping - [ ] Allow user to configure above mentioned envs - [ ] Allow user to add user - [ ] Allow user to view users - [ ] Allow user to define the JWT token field - [ ] A component library for react - [ ] Create a sdks - [ ] NodeJS sdk which acts as a middleware and can be used to authenticate & authorize users - [ ] Golang sdk which acts as a middleware and can be used to authenticate & authorize users