/LankaBidsLK

secure bidding platform featuring email verification, two-factor authentication, role-based access, encrypted passwords, and Zod-based input validation. Built with Next.js and MySQL.

Primary LanguageTypeScript

<title>LankaBidsLK - README</title>

LankaBidsLK

An innovative, secure bidding platform designed for Sri Lanka, offering a reliable marketplace.

LankaBidsLK.-.Quick.Demo.mp4

🚀 Features

  • Bidding System: Users can securely bid on various products.
  • Real-Time Updates: Get live updates on bidding status.
  • User Profiles: Manage personal details and bidding history securely.
  • Secure Transactions: Integrated security protocols to prevent fraud and ensure safe payments.
  • Email Verification: Users must verify their email addresses during registration.
  • Two-Factor Authentication: Optional two-factor authentication for additional security.

🔐 Security Features

  • SQL Injection Protection: Parameterized queries prevent SQL injection attacks.
  • Data Sanitization: Inputs are sanitized to prevent XSS and other vulnerabilities.
  • Password Encryption: All passwords are securely hashed and salted using bcrypt.
  • Secure Cookies: HTTP-only and Secure cookies protect session data in production.
  • Role-Based Access Control (RBAC): Users have different roles (Admin, Seller, Customer) with specific permissions.

🛠️ Technologies

  • Next.js for the frontend.
  • Node.js and MySQL for backend and database management.
  • Prisma ORM for role-based access and database interaction.
  • Next-Auth for secure authentication and session management.
  • Tailwind CSS for responsive UI design.
  • Zod for input validation (front-end and back-end).

📦 How to Run

  1. Clone the repository:
    git clone https://github.com/RyanSilva2004/LankaBidsLK.git
  2. Install dependencies:
    npm install
  3. Configure environment variables (e.g., database, Next-Auth secrets).
  4. Start the server:
    npm run dev
  5. Access the application at:
    http://localhost:3000

📈 Roadmap

  • Advanced Search Filters: Sort and filter bids by categories.
  • Multi-Language Support: Sinhala, Tamil, and English interfaces.
  • Mobile App: Future release of an Android/iOS version.
  • Enhanced Payment Integrations: Support for multiple payment gateways.

👨‍💻 Contributing

Feel free to open issues or create pull requests to contribute!

🔗 Links

Project Repository

🛡️ License

This project is licensed under the MIT License.