A full-stack web application where users can connect, offer work, chat in real-time, and collaborate.
Built using Django REST Framework, React (Vite), Django Channels, WebSockets, and fully Dockerized.
- JWT Authentication
- Login / Signup
- Cookies to store refresh token
- Users can offer work or services
- Add skills
- Django Channels + Redis
- WebSocket real-time messaging
- Live interactive chat rooms
- One-to-one chat
- Add friends
- View request list
- View friend list
- Chat only with accepted friends
- Search for friends
- Image uploads stored in
media/uploads/images/ - Docker volume mounted for persistence
- React + Vite
- Tailwind CSS
- Toast notifications (react-hot-toast)
- WebSocket client
- Clean modern UI
- Backend container
- Frontend container
- Redis container
- Python 3.12
- Django
- Django REST Framework
- Django Channels
- Redis
- Daphne (ASGI)
- SQLite / PostgreSQL
- Docker
- React + Vite
- Tailwind CSS
- Axios
- Toast (react-hot-toast)
- WebSocket API
- Docker
Skill_Connect/
βββ back/ # Backend
β βββ manage.py
β βββ backend/ # Django project (settings, urls, asgi)
β βββ SkillConnect/ # User app
β βββ chat/ # Chat app
β βββ friends/ # Friends logic
β βββ work/ # Work posting logic
β βββ media/
β β βββ uploads/images/ # Uploaded images
β βββ Dockerfile
β βββ requirements.txt
β
βββ front/
β βββ frontend/ # React Vite frontend
β βββ src/
β βββ Dockerfile
β βββ package.json
β
βββ docker-compose.yml
SECRET_KEY=your_secret_key
ALLOWED_HOSTS=*
### Frontend (`front/frontend/.env`) Nothing to do hereππ
git clone https://github.com/yogeswar2006/Skill-Connect.gitStarts everything:
docker compose up --build http://localhost:8000 http://localhost:5173cd back
python -m venv env # creates an environment
pip install -r requirements.txt # install all dependencies required
python manage.py migrate # make migrations
daphne -b 0.0.0.0 -p 8000 backend.asgi:application # Run asgi server cd front/frontend
npm install # install dependencies
npm run dev # starts server
------------------------------------------β€οΈTHE ENDβ€οΈ--------------------------------------