bhardwajrizul / EasyAuth-v1

EasyAuth - Fullstack Node based application with no dependencies

Home Page:https://easyauth.onrender.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EASYAUTH

Authentcation and Authorization

Webiste live at https://easyauth.onrender.com/

Website easyauth.onrender.com Open Source? Yes!

Easyauth provides modern Login and Signup features that can further be entended for various services such as

  • 📃TODO Lists
  • 🤳Social Media Login
  • 👩‍💻User Authentication for a website
  • 📨 NewsLetters
  • and many more 😉

Features

  • Signup and create your own account!
  • Login to your account!
  • Each login session lasts for 60 seconds
  • Reset your password   New!
  • Reset URL is valid up to 5 minutes!   New!
  • Responsive for Mobiles, Laptops and PC
  • Rate Limiting based upon incoming request's IP address   New!

Tech

Backend

https://nodejs.org/en/ JWT Mongoose

Database

MongoDB

Front End

SASS JavaScript HTML5 CSS3

Easyauth's server is built using Node and uses core node modules such as node:http, url, fs etc to handle incoming requests from the frontend. No external library such as like Express is used for the backend implementation.

MongoDB is used as the primary Databse along with Mongoose API which provides object modeling for Node.

Frontend is entirely built using HTML, CSS and vanilla Javascript for everything, from state management, animations and logs 😉 This is made possible by using a combination of XML and fetch requests for updating the HTML when user interacts with the webiste.


Screenshots

Landing Page home.jpg

Sign Up Error Log easyauth-signup-log.png

Reset Email Sent Log easyauth-email-log-jpg.png

Reset Page (Accessed via email) easyauth-reset.jpg


Installation (Win🪟)

Easyauth requires Node.js v10+ to run.

STEP 1 Clone the project using git.

git clone https://github.com/bhardwajrizul/EasyAuth-v1.git
cd EasyAuth-v1

STEP 2 Install the dependencies and devDependencies.

npm install

STEP 3 Create a .env file

touch .env

edit .env using the sample_env.txt provied with this project

STEP 4.1 Run the server (Development Mode)

npm start

STEP 4.2 Run the server (Production Mode)

npm install --production
# npm run build # Optional: Use only if you modified the SASS
NODE_ENV=production node server.js
  • Server is hosted at http://127.0.0.1:3000 (can be changed in server.js)
  • CSS can be changed in styles.css by modifying the SASS files

Development

Want to contribute? Great!

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


Note ⚠️

Important Notice : Read before using the application

This is a personal project which I started with the intent of learning how authentication and authorization works. This by no means provides complete authentication or authorization and such services should never be implemented on your own. The application might have bugs and unresolved issues!


License

Copyright notice: Opensource Project. Not necessary but credits would be nice!


About

EasyAuth - Fullstack Node based application with no dependencies

https://easyauth.onrender.com


Languages

Language:JavaScript 64.7%Language:SCSS 21.9%Language:HTML 13.4%