Skip to content

vanireddy58105-ctrl/CodeAlpha_ProjectManagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 CoSync — Collaborative Board Application

A full-stack real-time collaborative project management tool built with FastAPI, WebSockets, and Vanilla JS. Think Trello/Asana with live updates.

CoSync Banner Python FastAPI WebSockets


✨ Features

  • 🔐 JWT Authentication — Secure register/login with token-based sessions
  • 📋 Project Boards — Create and manage collaborative group projects
  • Task Cards — Assign tasks with priorities, due dates, and statuses
  • 💬 Comments — Communicate within tasks with real-time comment threads
  • 🔔 Notifications — Live in-app notifications for assignments and updates
  • Real-time WebSockets — Instant updates across all connected users
  • 📱 Responsive UI — Works on desktop and mobile

🛠 Tech Stack

Layer Technology
Backend FastAPI (Python)
Database SQLite (via Python sqlite3)
Auth JWT (HS256)
Real-time WebSockets (websockets library)
Frontend Vanilla HTML/CSS/JS
Deployment Render / Railway / Docker

🚀 Quick Start (Local)

Prerequisites

  • Python 3.10+
  • Git

Run Locally

# 1. Clone the repository
git clone https://github.com/YOUR_USERNAME/cosync.git
cd cosync

# 2. Create virtual environment
python -m venv venv

# Windows
venv\Scripts\activate

# macOS/Linux
source venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. Start the server
uvicorn main:app --reload --host 127.0.0.1 --port 8000

Open your browser at http://127.0.0.1:8000


☁️ Deploy to Render (Free — Permanent URL)

  1. Push this repo to GitHub
  2. Go to render.comNew → Web Service
  3. Connect your GitHub repository
  4. Render auto-detects render.yaml — click Deploy
  5. Your live URL will be: https://cosync-app.onrender.com

Note: Render free tier spins down after 15 mins of inactivity. First request may take ~30s to wake up.


🐳 Deploy with Docker

docker build -t cosync .
docker run -p 8000:8000 cosync

📡 API Endpoints

Auth

Method Endpoint Description
POST /api/auth/register Register new user
POST /api/auth/login Login & get JWT token

Projects

Method Endpoint Description
GET /api/projects List all user projects
POST /api/projects Create new project
DELETE /api/projects/{id} Delete a project

Tasks

Method Endpoint Description
GET /api/projects/{id}/tasks Get project tasks
POST /api/projects/{id}/tasks Create task
PUT /api/tasks/{id} Update task
DELETE /api/tasks/{id} Delete task

Comments & Notifications

Method Endpoint Description
GET /api/tasks/{id}/comments Get task comments
POST /api/tasks/{id}/comments Add comment
GET /api/notifications Get user notifications
PUT /api/notifications/{id}/read Mark notification read

WebSocket

Protocol Endpoint Description
WS /ws/{token} Real-time event stream

📁 Project Structure

cosync/
├── main.py           # FastAPI routes & WebSocket logic
├── database.py       # SQLite schema & query functions
├── auth.py           # JWT helpers
├── run.py            # Local dev launcher
├── requirements.txt  # Python dependencies
├── Dockerfile        # Container config
├── render.yaml       # Render deployment config
├── Procfile          # Railway/Heroku config
└── static/
    ├── index.html    # Single-page application shell
    ├── css/
    │   └── style.css # Full UI styling
    └── js/
        ├── app.js    # Main application logic
        ├── api.js    # REST API client
        ├── ui.js     # UI rendering functions
        └── ws.js     # WebSocket client

🔐 Environment Variables

Variable Description Default
SECRET_KEY JWT signing secret change-me-in-production
PORT Server port 8000

Set SECRET_KEY to a long random string in production!


📄 License

MIT License — free to use and modify.


Built with ❤️ using FastAPI + WebSockets

About

Project Management Tool A full-stack web application that allows users to create projects, manage tasks, assign work, and collaborate through comments. Designed to improve productivity and workflow management, similar to tools like Trello.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors