DEV Community

rawkiesthinker
rawkiesthinker

Posted on • Edited on

The Identity Platform For The People

As I wait for my team to switch the VM back on so that I can get back to work, I decided to hack together a quick login page, for a coding challenge I accepted to do last week. (in the spirit of being apart of a coding community, never been apart of one before).

In my years of programming, there are a few good practices, I neglected, one of the most important ones was creating a repo. (I have lost many a code due to this neglect)

So here is the codebase of the "Identity Platform For The People" (I just had to build it for the people it's a thing now)

This is more of an intro and my official acceptance to the #CodingWithKamo challenge

I have been yearning to learn a new language, and I decided to to take on any new challenge I find on the internet with reasonml Who does not love a challenge

Let us begin

The challenge was to create a login page, here is how I went about it

"Identity Platform For The People"
After cloning the project below I run the modified script below from reasonML docs

replacing "-my-react-app" with "." so it can generate the project within the cloned project and not create a new folder


npm install --global bs-platform@6.2.1
bsb -init . -theme react-hooks
npm install && npm start


in another tab
npm run server

With that done I created a folder named components inside of /src

/src/components

Input.re

[@react.component]
let make = (~name) =>{


  <input id={name} placeholder={name} type_="text"></input>;


};
Enter fullscreen mode Exit fullscreen mode

/src/Login
Login.re

[@react.component]
let make = (~name) =>{


<div>
<Input name="username"/>
<Input name="password"/>
<button type_="submit">{ReasonReact.string(name)}</button>
</div>


};

Enter fullscreen mode Exit fullscreen mode

/src
Index.re

// Entry point

[@bs.val] external document: Js.t({..}) = "document";

ReactDOMRe.renderToElementWithId(<Login name="Login" />, "login");

Enter fullscreen mode Exit fullscreen mode

and for all those that have used react, are used to having a div element with a _login id within the index.html page

/
index.html

//
<body>

  <div id="login"></div>
//
</body>

Enter fullscreen mode Exit fullscreen mode

This is my submission to the first #CodingWithKamo

Learning Points

type is reserved withing reason, using type_="" allows the use of it within input elements

Coming Up

This is the first of many, there is still a lot that needs to be done, the first thing is styling.

Top comments (0)