This project is a comprehensive social media platform that includes features such as user accounts with authentication and friend management, real-time chat using sockets, notifications, post uploads, and search functionality. The client is built with Vue.js using Pinia for state management and Tailwind CSS for design. The backend is developed with Django and PostgreSQL, served with Gunicorn, and containerized using Docker for seamless development and deployment.
- User Accounts: Authentication, authorization, and friend management.
- Real-Time Chat: Instant messaging using sockets.
- Notifications: Real-time notifications for various user activities.
- Post Uploads: Users can upload and share posts.
- Search Functionality: Search for users, posts, and other content.
- Frontend: Vue.js, Pinia, Tailwind CSS
- Backend: Django, PostgreSQL
- Real-Time Communication: Sockets
- Server: Gunicorn
- Containerization: Docker
- Docker and Docker Compose installed
-
Clone the Repository
git clone https://github.com/almoghindi/Django-Vue-Social-Media.git cd Django-Vue-Social-Media
-
Create Environment Variables Create a
.env
file in the root directory with the necessary environment variables for Django and PostgreSQL. -
Build and Run the Containers
docker-compose up --build
-
Access the Application
- Frontend: Open your browser and navigate to
http://localhost:8080
- Backend: The API will be available at
http://localhost:8000
- Frontend: Open your browser and navigate to
By following these steps, you can run the social media platform locally using Docker Compose, which sets up the frontend, backend, and database services.