Co-OpFlow is a full-stack collaboration platform where people can discover projects, find teammates, communicate, and build ideas together.
It combines:
- A FastAPI + MongoDB backend for authentication, data models, and APIs
- A React + Tailwind frontend for browsing, collaboration, messaging, and profile workflows
Co-OpFlow helps users:
- Create accounts and manage profiles
- Explore projects and teams
- Join or manage collaboration teams
- Participate in community spaces (forums and events)
- Message other users and receive notifications
- Interact with projects (likes/stars, uploads, details)
It is designed as a single platform for startup ideas, hackathon teams, and passion projects.
vas-original/
├── Backend/ # FastAPI application, MongoDB models/services, tests
└── Frontend/ # React application, pages/components, API client/store
Backend/app/main.py– FastAPI app setup, routers, startup/shutdown hooksBackend/app/api/– REST endpoints (auth,users,projects,teams,forums,events,messages,notifications)Backend/app/services/– business logic layerBackend/app/models/– request/response and domain modelsBackend/tests/+ root test files – backend test suiteBackend/docker-compose.yml– local MongoDB + backend container orchestration
Frontend/src/App.jsx– app router and protected routesFrontend/src/pages/– top-level pages (Discover, Collaborate, Community, Funding, etc.)Frontend/src/components/– reusable UI pieces (Navbar, Footer, auth/profile components)Frontend/src/services/api.js– API communication layerFrontend/src/store/– Zustand stores (auth/theme)
- FastAPI
- MongoDB (Motor async driver)
- JWT authentication
- Pytest (async testing)
- React (Create React App)
- React Router
- Tailwind CSS
- Zustand state management
- User accesses the React app.
- Frontend calls backend API endpoints under
/api/v1. - Backend validates auth (JWT), processes business logic in services, and reads/writes MongoDB.
- Frontend renders project/team/community data and handles user interactions (messaging, profile updates, applications, etc.).
Public sections can be browsed, while profile, messages, and personal actions are protected behind authentication.
From Backend/:
pip install -r requirements.txtCreate .env (or use defaults) and ensure MongoDB is running.
Option A: run MongoDB via Docker Compose:
docker-compose up -d mongodbRun backend:
python run.pyBackend runs on http://localhost:8000 by default.
Useful backend URLs:
- Swagger docs:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc - Health:
http://localhost:8000/health
From Frontend/:
npm install
npm startFrontend runs on http://localhost:3000 by default.
Set API URL in Frontend/.env if needed:
REACT_APP_API_BASE_URL=http://localhost:8000/api/v1From Backend/:
docker-compose up -dThis starts:
- MongoDB
- Backend API
From Backend/:
python run_tests.pyOr directly:
pytestFrom Frontend/:
npm test- Discover: browse projects
- Collaborate: teams and collaboration matching
- Community: forums and events
- Funding: funding-related pages
- Messages / Notifications / Profile: authenticated user workflows
- Current CORS setup in backend is permissive (
allow_origins=["*"]) and should be restricted in production. - Default development config uses local MongoDB and local uploads directory.
- The project name has been rebranded to Co-OpFlow.
- Start MongoDB (Docker or local)
- Start backend (
Backend/) - Start frontend (
Frontend/) - Open
http://localhost:3000 - Register/login and explore collaboration flows