LoveJoy is a Flask web application designed for the evaluation and management of antiques. It offers features like user authentication, antique evaluation submissions, admin management, and more.
- User Registration and Login
- Email Verification and Password Reset
- Admin Dashboard for User and Antique Management
- Antique Evaluation Submission
- Image Upload and Validation
- Two-Factor Authentication
- Rate Limiting and CSRF Protection
- Captcha Implementation for Registration
To set up the LoveJoy application, follow these steps:
-
Clone the Repository
git clone [repository URL] cd [repository directory]
-
Set Up a Virtual Environment (Optional)
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
-
Environment Variables Set up the necessary environment variables:
GMAIL_USERNAME
: Your Gmail username for mailing services.GMAIL_PASSWORD
: Your Gmail password.FERNET_KEY
: A key for cryptographic operations.
-
Initialize the Database
flask init-db
To run the Love
Joy application:
-
Start the Application
flask run
-
Access the Application Open your web browser and navigate to
http://127.0.0.1:5000/
to view the application.
To perform administrative tasks:
-
Use the Flask CLI commands to promote or remove admin rights:
flask promote-admin [email] flask remove-admin [email]
-
Access the admin dashboard at
http://127.0.0.1:5000/admin/
after logging in as an admin.
Contributions to LoveJoy are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.
Include details about the project's license here.
For support or queries, contact ramzi.daher@gmail.com.