- Node.js
- Nodemailer
- Crons
- Mongoose
- JWT
- Vite
- Tailwind CSS
- Lucide-react
- Sahdcn
- React
-
User Authentication
- Signup and Login functionality.
- JWT stored in cookies for session management.
-
Protected Routes
- Access to specific pages restricted based on JWT authentication.
-
Password Recovery
- OTP-based reset for verified users.
-
Account Verification
- Unverified accounts are automatically deleted after 24 hours.
-
Clone the repository:
git clone <repository-url>
-
Navigate to the project directory:
cd <project-directory>
-
Install dependencies for both backend and frontend:
npm install
-
Set up environment variables for backend:
MONGO_URI
: MongoDB connection stringJWT_SECRET
: Secret key for JWTSMTP_HOST
: SMTP host for NodemailerSMTP_PORT
: SMTP portSMTP_USER
: SMTP user for authenticationSMTP_PASS
: SMTP password for authentication
-
Run the backend:
npm start
-
Run the frontend:
npm run dev
-
Signup/Login
- Create an account or log in with valid credentials.
-
Password Reset
- Request an OTP to reset the password for verified accounts.
-
Account Deletion
- Accounts not verified within 24 hours are automatically removed via cron jobs.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.