Planty is an online marketplace web application where users can register and post plant ads. The project is my first non-tutorial Django application.
It was developed on Windows OS with Python 3.9.5
- Python 3.0 or newer verison
- Python requirements are listed in the requirements file
To run the project for the first time run the following:
# Clone the project
git clone https://github.com/malisara/planty.git
# Move into the 'planty' directory
cd planty
# Create a virtual Python environment (make sure to use at least Python 3)
python -m venv <venv_name>
# Activate virtual environment
.\<venv_name>\Scripts\activate
# Install the requirements
pip install -r requirements.txt
# Migrate database
python manage.py migrate
# Run the local server
python manage.py runserver
- Landing page with an overview of plant categories and a few most recently published ads. Non-logged-in users have an option to register or log in.
- Explore page where users can filter ads based on category, price, and date posted. There is also a basic text search functionality. Users can also sort ads in four different ways (based on price and date).
- Messages page where users can view all their chats. They can also open a specific chat, and reply to messages from others.
-
Registration and login page. Users can register with a username, email, and password.
-
CRUD operations for plant ads. Users can create new ads, consisting of a title, price, image, and description. They can also edit or delete their ads.
-
A profile page that shows all user's ads, basic information, and their reviews. Users can change their profile image, username, email, and first and last name.
- Django ORM
- Django signals
- Django context processors
- Django class-based views
- Django messages
- Django auth
- Pillow image library
- Javascript
- Reset password functionality
- Improve search capabilities
- Add unit tests