DevSync is a development synchronisation platform that integrates database management, GitHub integration, and task tracking into one unified system.
DevSync streamlines collaboration by connecting your database, GitHub repositories, and local development environment. It is designed to make it easy for teams to manage tasks, track issues, and synchronise changes.
- Database Integration: Connect to PostgreSQL databases with ease.
- GitHub Integration: Seamless OAuth configuration and repository tracking.
- Task Management: Create, update, and monitor tasks and projects.
- Scalable Architecture: Indexed database schema for optimal performance.
- Python 3.8 or higher
- Node.js 14.x or higher
- npm 6.x or higher
- Docker Engine (or Docker Desktop)
- Docker Compose plugin (
docker compose)
git clone https://github.com/AhmedIkram05/DevSync
cd DevSyncpython -m venv .venv
source .venv/bin/activatepython -m venv .venv
.venv\Scripts\activatepip install -r requirements.txtcd frontend
npm installsource .venv/bin/activate # If not already activated
cd backend/src
python app.pyThe API server will start running on http://localhost:8000
cd frontend
npm run build
serve -s buildThe React app should automatically open in your browser at http://localhost:3000
Create a .env file at the repository root (or copy from .env.example) and add the following variables:
cp .env.example .env# Flask Application Settings
FLASK_APP=backend/src/app.py
FLASK_ENV=development
# Local PostgreSQL (Docker)
POSTGRES_PASSWORD=your_local_postgres_password
DATABASE_URL=postgresql://devsync:your_local_postgres_password@localhost:5432/devsync?sslmode=disable
# Authentication
JWT_SECRET_KEY=your_secure_secret_key
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
GITHUB_REDIRECT_URI=http://localhost:8000/api/v1/github/callback
FRONTEND_URL=http://localhost:3000Start local PostgreSQL with Docker:
docker compose -f docker-compose.local-postgres.yml up -dBootstrap tables and indexes:
source .venv/bin/activate
python backend/src/db/scripts/setup_database.py(Optional) Inspect schema details:
source .venv/bin/activate
python backend/src/db/scripts/inspect_database.pyUse these commands from the repository root:
make db-up
make db-setup
make db-inspect
make db-reset
make db-downThe API documentation is available at /api/docs endpoint.