Minima Art is a Django-powered web application designed to serve as an online art shop. The application provides a comprehensive platform for managing art products, galleries, and reviews, while offering role-based access for admins, staff, and regular users.
- Fully responsive custom-designed frontend.
- Role-based access control for admins and staff.
- Secure authentication system with login, register, and logout functionality.
- Landing page with an overview of available art products.
- Gallery showcasing art items.
- Contact and feedback forms for unauthenticated users.
- User profile management.
- Product management (CRUD operations) for admins and staff.
- Review management for staff and admins.
- Role-specific dashboards for admins and staff.
- Full CRUD operations for all models.
- Custom admin interface with filters and search.
- Role and permission management.
- Limited CRUD permissions for managing reviews and products.
- Staff-specific dashboard for role-specific functionality.
- Backend: Django Framework
- Frontend: Custom HTML/CSS with Django Template Engine
- Database: SQLite (configurable for PostgreSQL/MySQL)
- Authentication: Django's built-in authentication system
- Python 3.9+
- Pip (Python package manager)
- Git (optional, for cloning the repository)
-
Clone the repository:
git clone <repository_url> cd minima_art
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # For Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Create a superuser (admin):
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
Access the application:
- Public pages: http://localhost:8000/
- Admin panel: http://localhost:8000/admin/
- Admin: Full access to all features, including user and role management.
- Staff: Limited permissions for managing reviews and products.
- Authenticated Users: Access to private sections like user profiles.
- Unauthenticated Users: Access to public pages such as the gallery and feedback forms.
- Home:
/ - Feedback:
/feedback/ - Gallery:
/gallery/ - Products:
/products/ - Staff Dashboard:
/users/staff-dashboard/
Contributions are welcome! Follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes with descriptive messages.
- Push the branch and create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For inquiries or support, contact pavel.kolew@gmail.com.