A web-based chat application built using Python and Django, allowing users to authenticate, send messages, upload images, and interact in dedicated chat rooms. The application supports deployment both in development and production using Docker and Nginx.
- Python
- Django
- HTML & CSS
- PostgreSQL
- Docker
- Nginx
- FileSystemStorage (for image upload)
- User login/logout using
django.contrib.auth - Authenticated home page showing all messages
- Send text messages and upload images
- File upload handling with
.pngvalidation - Create or join chat rooms
- Message sending inside specific rooms
- Development and production Docker environments
- Media and static file handling with Nginx
- Created a Django project.
- Ran the server locally at:
http://localhost:8000 - Connected to the database for user and message storage.
-
Authentication
Implemented login and logout withauthenticate,login,logout. -
Home Page
Displays all messages and includes message sending and logout features. -
Send Text and Images
-
Chat Rooms
- Dockerized the app with:
Dockerfiledocker-compose.yml(includes PostgreSQL)
- Created:
Dockerfile.proddocker-compose.prod.yml
- Configured Nginx to serve static and media files
- Tested both development (
localhost:8000) and production (localhost:1337) modes - Used
.env.devand.env.prodto separate configurations
# Build and run containers (development)
docker-compose up --build
# Apply migrations for PostgreSQL
docker-compose exec web python manage.py migrateDeveloped by Dunca Denisa Mihaela
Faculty of Computer Automation and Computer Science



