An image sharing site using Django, where user can signup, login, upload pictures, see and search for other people’s profiles and pictures and download them.
Front-end: HTML, CSS, and JavaScript
Backend: Django, SQL
- Sign-up page
- Log-in page
- Main view page of a logged-in user
- Image upload page
- Image full view page
- Profile page
- Search results page
-
Signup: To create an account, a user will be asked to enter their name, email, and password. This will be saved in a table in the database. The password will be encrypted before saving. Users may also add a profile picture.
-
Login: The user will be asked to enter their registered email and password. This data will be verified using users’ data saved in the database. They will be logged in to their profile if the verification was successful.
-
Upload image: A user will be able to upload pictures, and add related tags. Those tags can be used to search for an image. This data, along with the respective user and tags, will be saved in the database.
-
Search: Any user will be able to look for required images by searching with relevant words. The results will show images by other users, earmarked with the related tag.
-
Main view page: Latest pictures uploaded by other users will be picked up from the database to be displayed here.
-
Profile page: The user’s basic information along with all the pictures uploaded by them will be displayed here.
-
Image full view page: Here, an enlarged image will be displayed with a download button. This will also tell us about the user who uploaded this.
Image Handling - The images uploaded will be renamed to a random string and will be saved in the uploaded_images folder and the file name along with other pieces of information related to the image will be saved in the database, which will be used to fetch and display the image later. Also, all images will be uniquely identified with an id.
- Download or pull the project directory at your system.
- We must have Python3 installed in our computer.
- Set up a python virtual environment in the project folder and install all the libraries in the requirements.txt file. We may do it by typing
pip install requirements.txt
in our cmd or terminal. - Ta-da! We're ready to run the server. We'll go to the project directory in our cmd or terminal and type
py manage.py runserver
. Openlocalhost:8000
in the web browser. - We have it running now. Create an account, upload pictures, see other's pictures, have fun!
Thank you.