Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/captableinc/captable
#1 Open-Source Captable, an alternative to Carta, Pully, Angelist and others.
https://github.com/captableinc/captable
captable dataroom esign fundraising investor nextjs open-source prisma typescript
Last synced: 25 days ago
JSON representation
#1 Open-Source Captable, an alternative to Carta, Pully, Angelist and others.
- Host: GitHub
- URL: https://github.com/captableinc/captable
- Owner: captableinc
- License: agpl-3.0
- Created: 2024-01-09T03:06:05.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-05-22T12:51:08.000Z (7 months ago)
- Last Synced: 2024-05-22T13:14:39.644Z (7 months ago)
- Topics: captable, dataroom, esign, fundraising, investor, nextjs, open-source, prisma, typescript
- Language: TypeScript
- Homepage: https://captable.inc
- Size: 8.73 MB
- Stars: 328
- Watchers: 4
- Forks: 41
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Captable, Inc.
#1 Open-source Cap table management platform, an alternative to Carta, Pulley, Angelist and others.
Table of contents
- Features
- Community
- Contibuting
- Self hosting✨ Key features
> [!IMPORTANT]
> We envision a world where cap table management is accessible, secure, and empowering for all. Captable, Inc. aims to democratize the handling of cap tables, securities, and stakeholder interactions. Through cutting-edge technology and a commitment to openness, we strive to be the catalyst for positive change in financial ecosystems.👷 **Incorporation** (wip) - Captable, Inc. helps you incorporate your company in minutes, with all the necessary legal documents and filings taken care of.
👷 **Cap table management** (wip) - Captable, Inc. helps you keep track of your company’s ownership structure, including who owns what percentage of the company, how much stock/options has been issued, and more.
✅ **Fundraise** - Captable, Inc. can help you raise capital, whether its signing standard or custom SAFE or creating and managing fundraising rounds, tracking investor commitments, and more.
✅ **Investor updates** - Delight your investors and team members by sending them regular updates on your company’s progress.
✅ **eSign Documents** - Sign SAFE, NDA, contracts, offere letters or any type of documents with Captable Sign.
✅ **Data rooms** - Captable, Inc. provides a secure virtual data room where you can store important documents and share them with investors, employees, and other stakeholders.
🤝 Community
We have a community of developers, designers, and entrepreneurs who are passionate about building the future of finance. Join us on Discord to connect with like-minded individuals, share your ideas, and collaborate on projects.- [Join us on Discord](https://discord.gg/rCpqnD6G6p)
- [Follow us on Twitter](https://twitter.com/captableinc)
- [Meet the Founder](https://captable.inc/schedule)🫡 Contributing
- Please show us some support by giving it a ⭐️
- We are looking for contributors to help us build the future of cap table management.
- Let's collaborate on [Discord](https://discord.gg/rCpqnD6G6p) community channel.
- Any contributions you make are truly appreciated.Stack
- [Next.js](https://nextjs.org)
- [Tailwind](https://tailwindcss.com)
- [Prisma ORM](https://prisma.io)---
Getting started
When contributing to Captable, Inc., whether on GitHub or in other community spaces:- Be respectful, civil, and open-minded.
- Before opening a new pull request, try searching through the [issue tracker](https://github.com/captableinc/captable/issues) for known issues or fixes.Setup development environment
- Development environment on Gitpod
- Development environment with Docker
- Development environment without DockerDevelopment environment on Gitpod
- Click the button below to open this project in Gitpod.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/captableinc/captable)
---
Development environment with Docker
- Install Docker & Docker Compose
- Fork & clone the forked repository
- Install node and pnpm. (optional)
- Copy `.env.example` to `.env````bash
cp .env.example .env
```- Run the following command to start the development environment
```bash
# With pnpm installed
pnpm dx# Without pnpm installed
docker compose up```
- Run the following command to migrate and seed the database
```bash
docker compose exec app pnpm db:migrate
docker compose exec app pnpm db:seed```
> **Note**
> Everytime you make changes to Dockerfile or compose.yml, you need to rebuild the docker image by running `docker compose up --build`- Running `docker compose up` will start all the services on their respective ports.
- App will be running on [http://localhost:3000](http://localhost:3000)
- Emails will be intercepted: [http://localhost:8025](http://localhost:8025)
- SMTP will be on PORT `http://localhost:1025`
- Postgres will be on PORT `http://localhost:5432`
- Prisma studio will be on PORT `http://localhost:5555`- Frequently used commands
- `docker compose up` - Start the development environment
- `docker compose down` - Stop the development environment
- `docker compose logs -f` - View logs of the running services
- `docker compose up --build` - Rebuild the docker image
- `docker compose run app pnpm db:migrate` - Run database migrations
- `docker compose run app pnpm db:seed` - Seed the database---
Development environment without Docker
> This has been tested on Mac OS and works really well. If you are using Linux/Windows/WSL, you might need to install some additional dependencies.
- [Fork the repository](https://github.com/captableinc/captable/fork)
- Clone the repository
```bash
git clone https://github.com//captable.git
```- Copy `.env.example` to `.env`
```bash
cp .env.example .env
```- Install latest version of node and pnpm
- Install latest version of postgres database
- Install [mailpit](https://mailpit.axllent.org/docs/install/) for SMTP and email interception
- Create database `captable` in postgres database
- Update `.env` file's `DATABASE_URL` with database credentials
- For a quick start, you can use [Supabase database](https://supabase.com/) or [Neon](https://neon.tech/) as well.
- To simulate file storage locally, install `minio` via homebrew or any other package manager.```bash
brew install minio
```Once minio is installed run
```bash
minio server start --console-address ":9002"
```This will start minio server
minio api will be available on `http://127.0.0.1:9000` and
minio web gui will be available on `http://127.0.0.1:9002`.once you see these endpoint in terminal, update the following `.env`:
```bash
UPLOAD_ENDPOINT="http://127.0.0.1:9000" # should match minio api server's endpoint
NEXT_PUBLIC_UPLOAD_DOMAIN="http://127.0.0.1:9000" # should match minio api server's endpoint
UPLOAD_REGION="us-east-1" # don't change it
UPLOAD_ACCESS_KEY_ID="minioadmin" # by default minio username is "minioadmin"
UPLOAD_SECRET_ACCESS_KEY="minioadmin" # by default minio password is "minioadmin"
UPLOAD_BUCKET_PUBLIC="captable-public-bucket"
UPLOAD_BUCKET_PRIVATE="captable-private-bucket"
```after this,
go to minio web gui(`http://127.0.0.1:9002`) and login:
username: `minioadmin`
password: `minioadmin`and create two buckets with the name:
`captable-public-bucket` and `captable-private-bucket`,
this should match `UPLOAD_BUCKET_PUBLIC` and `UPLOAD_BUCKET_PRIVATE` env's values.and you should be done with minio setup.
- Run the following command to install dependencies
```bash
pnpm install
```- Run the following command to migrate and seed the database
```bash
pnpm db:migrate
pnpm db:seed
```- Run the following command to start the development server
```bash
pnpm dev# On a different terminal, run the following command to start the mail server
pnpm email:dev
```- App will be running on [http://localhost:3000](http://localhost:3000)
- Emails will be intercepted: [http://localhost:8025](http://localhost:8025)
- SMTP will be on PORT `http://localhost:1025`
- Postgres will be on PORT `http://localhost:5432`- Frequently used commands
- `pnpm dev` - Start the development server
- `pnpm email:dev` - Start the mail server
- `pnpm db:migrate` - Run database migrations
- `pnpm db:seed` - Seed the databaseImplement your changes
When making commits, make sure to follow the [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) guidelines, i.e. prepending the message with `feat:`, `fix:`, `chore:`, `docs:`, etc...
```bash
git add && git commit -m "feat/fix/chore/docs: commit message"
```Open a pull request
> When you're done
Make a commit and push your code to your github fork and make a pull-request.
Thanks for your contributions. Much ❤️
---
💌 Contributors
---
![Alt](https://repobeats.axiom.co/api/embed/a8fc8a167d33eec78a71953a2b9e58985ca4b3b6.svg "Captable repo activity")