Webiste live at https://easyauth.onrender.com/
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 😉
- Signup and create your own account!
- Login to your account!
- Each login session lasts for 60 seconds
- Reset your password
- Reset URL is valid up to 5 minutes!
- Responsive for Mobiles, Laptops and PC
- Rate Limiting based upon incoming request's IP address
Backend
Database
Front End
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.
Reset Page (Accessed via email)
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
Want to contribute? Great!
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
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!
Copyright notice: Opensource Project. Not necessary but credits would be nice!