Skip to content

Latest commit

 

History

549 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pace

Pace is an open-source project management platform for tracking work items, running cycles, and managing product roadmaps without the overhead of managing the tool itself.

This repository is the Pace application and its gradual backend migration. The web application remains compatible with the existing product while API modules move from Django to Go (Gin + GORM) against the same PostgreSQL schema.

Features

  • Work items — create, organize, and track tasks with rich text, files, and relationships.
  • Cycles — plan iterations and monitor progress with cycle views and burn-down charts.
  • Modules — break large projects into smaller, manageable units.
  • Views — save and share filters for the issues that matter most.
  • Pages — capture ideas and turn notes into actionable work.
  • Analytics — understand project health and remove blockers with real-time insights.

Installation

See CONTRIBUTING.md for local development instructions. The existing Docker and Kubernetes deployment configuration is still supported while the migration is in progress.

For the Go API, see apps/api/README.md.

Built with

React Router Django Go Gin GORM PostgreSQL Node JS

Backend migration status

The migration is intentionally incremental. Django remains the behavioral reference and continues to serve every module that has not passed contract and integration verification in Go.

Stage Scope Status
PR #1 Pace brand update Complete
PR #2 Go API foundation (Gin, GORM, PostgreSQL, proxy wiring) Complete
PR #8 Authentication (/auth/) Complete
PR #9 User, profile, and account APIs Complete
PR #10 Core Workspace APIs Complete
PR #11 Workspace Themes In review

Migration rules:

  1. One business module gets one independent branch and pull request.
  2. Only one migration pull request is open at a time; the next module starts after the current module is merged into main.
  3. Django behavior is the compatibility baseline for URLs, status codes, JSON, permissions, sessions, cookies, and database side effects.
  4. A module is cut over only after contract and integration tests pass against the existing Django schema.
  5. Unmigrated routes continue to be served by Django; migration work does not require a flag day.

Verify the Go API

cd apps/api
go test -count=1 ./...
go test -race -count=1 ./...
go vet ./...

To verify GORM writes against a disposable PostgreSQL database that already has the Django schema, opt in with a connection string:

AUTH_TEST_DATABASE_URL=postgres://... \
  go test -count=1 ./internal/auth \
  -run TestGORMRepositoryAgainstDjangoSchema

USER_TEST_DATABASE_URL=postgres://... \
  go test -count=1 ./internal/user \
  -run TestUserModelsAgainstDjangoSchema

WORKSPACE_TEST_DATABASE_URL=postgres://... \
  go test -count=1 ./internal/workspace \
  -run TestWorkspaceModelsAgainstDjangoSchema

Community and contributing

Open an issue or pull request in the Pace repository. Please read CONTRIBUTING.md before submitting changes. Security issues should be reported privately to the maintainers rather than disclosed in a public issue.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages