A full-stack developer collaboration platform built with modern technologies.
- Frontend: React with Next.js
- Backend: Express.js (Node.js)
- Database: PostgreSQL
- Cloud/Infra: AWS (Terraform configs for S3 + RDS)
- Containers: Docker & docker-compose
- Deployment: Vercel (Frontend) + GitHub Actions CI/CD
devconnect/
βββ frontend/ # Next.js app
β βββ pages/ # Login, Dashboard, Chat, Tasks
β βββ components/
β βββ public/
β βββ package.json
β βββ next.config.js
β βββ vercel.json
β
βββ backend/ # Express API
β βββ src/
β β βββ routes/ # auth, tasks, chat
β β βββ controllers/
β β βββ models/
β β βββ app.js
β βββ package.json
β βββ Dockerfile
β
βββ database/ # DB schema + migrations
β βββ schema.sql
β βββ migrations/
β
βββ infra/ # Infra configs
β βββ docker-compose.yml
β βββ terraform/
β β βββ main.tf # AWS S3 + RDS configs
β β βββ variables.tf
β β βββ outputs.tf
β βββ README.md
β
βββ .github/
β βββ workflows/
β βββ ci.yml # GitHub Actions workflow
β
βββ README.md
βββ LICENSE
- Authentication: JWT-based user authentication
- Task Management: CRUD operations for project tasks
- Real-time Chat: WebSocket-based messaging
- Dashboard: User dashboard with project overview
- Cloud Infrastructure: AWS RDS + S3 with Terraform
- CI/CD: Automated testing and deployment
- Node.js 18+
- Docker & Docker Compose
- PostgreSQL
- AWS CLI (for infrastructure deployment)
-
Clone the repository
git clone <repository-url> cd devconnect
-
Start with Docker Compose
cd infra docker-compose up -d -
Install dependencies
# Frontend cd ../frontend npm install npm run dev # Backend (in another terminal) cd ../backend npm install npm run dev
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Database: localhost:5432
-
Configure AWS credentials
aws configure
-
Deploy infrastructure
cd infra/terraform terraform init terraform plan terraform apply
POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/logout- User logout
GET /api/tasks- Get all tasksPOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
GET /api/chat/messages- Get chat messagesPOST /api/chat/messages- Send messageWebSocket /ws/chat- Real-time chat
# Run all tests
npm test
# Run backend tests
cd backend && npm test
# Run frontend tests
cd frontend && npm testThe frontend is configured for automatic deployment to Vercel via the vercel.json configuration.
Deploy the backend to your preferred cloud provider using the provided Dockerfile.
Use the Terraform configurations in infra/terraform/ to provision AWS resources.
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For support, email support@devconnect.com or join our Discord community.