Skip to content

Commit 560782d

Browse files
committed
feat(repo): cheers to new beginnings 🍻 🪄
0 parents  commit 560782d

File tree

12,301 files changed

+377869
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

12,301 files changed

+377869
-0
lines changed

.all-contributorsrc

+134
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
{
2+
"files": [
3+
"README.md"
4+
],
5+
"imageSize": 100,
6+
"commit": false,
7+
"commitType": "docs",
8+
"commitConvention": "angular",
9+
"contributors": [
10+
{
11+
"login": "abouolia",
12+
"name": "Ahmed Bouhuolia",
13+
"avatar_url": "https://avatars.githubusercontent.com/u/2197422?v=4",
14+
"profile": "https://github.com/abouolia",
15+
"contributions": [
16+
"code"
17+
]
18+
},
19+
{
20+
"login": "ameir",
21+
"name": "Ameir Abdeldayem",
22+
"avatar_url": "https://avatars.githubusercontent.com/u/374330?v=4",
23+
"profile": "http://ameir.net",
24+
"contributions": [
25+
"bug"
26+
]
27+
},
28+
{
29+
"login": "elforjani13",
30+
"name": "ElforJani13",
31+
"avatar_url": "https://avatars.githubusercontent.com/u/39470382?v=4",
32+
"profile": "https://github.com/elforjani13",
33+
"contributions": [
34+
"code"
35+
]
36+
},
37+
{
38+
"login": "scheibling",
39+
"name": "Lars Scheibling",
40+
"avatar_url": "https://avatars.githubusercontent.com/u/24367830?v=4",
41+
"profile": "https://scheibling.se",
42+
"contributions": [
43+
"bug"
44+
]
45+
},
46+
{
47+
"login": "suhaibaffan",
48+
"name": "Suhaib Affan",
49+
"avatar_url": "https://avatars.githubusercontent.com/u/18115937?v=4",
50+
"profile": "https://github.com/suhaibaffan",
51+
"contributions": [
52+
"code"
53+
]
54+
},
55+
{
56+
"login": "KalliopiPliogka",
57+
"name": "Kalliopi Pliogka",
58+
"avatar_url": "https://avatars.githubusercontent.com/u/81677549?v=4",
59+
"profile": "https://github.com/KalliopiPliogka",
60+
"contributions": [
61+
"bug"
62+
]
63+
},
64+
{
65+
"login": "kochie",
66+
"name": "Robert Koch",
67+
"avatar_url": "https://avatars.githubusercontent.com/u/10809884?v=4",
68+
"profile": "https://me.kochie.io",
69+
"contributions": [
70+
"code"
71+
]
72+
},
73+
{
74+
"login": "cschuijt",
75+
"name": "Casper Schuijt",
76+
"avatar_url": "https://avatars.githubusercontent.com/u/5460015?v=4",
77+
"profile": "http://cschuijt.nl",
78+
"contributions": [
79+
"bug"
80+
]
81+
},
82+
{
83+
"login": "ANasouf",
84+
"name": "ANasouf",
85+
"avatar_url": "https://avatars.githubusercontent.com/u/19536487?v=4",
86+
"profile": "https://github.com/ANasouf",
87+
"contributions": [
88+
"code"
89+
]
90+
},
91+
{
92+
"login": "xprnio",
93+
"name": "Ragnar Laud",
94+
"avatar_url": "https://avatars.githubusercontent.com/u/3042904?v=4",
95+
"profile": "https://ragnarlaud.dev",
96+
"contributions": [
97+
"bug"
98+
]
99+
},
100+
{
101+
"login": "asenawritescode",
102+
"name": "Asena",
103+
"avatar_url": "https://avatars.githubusercontent.com/u/67445192?v=4",
104+
"profile": "https://github.com/asenawritescode",
105+
"contributions": [
106+
"bug"
107+
]
108+
},
109+
{
110+
"login": "benpsnyder",
111+
"name": "Ben Snyder",
112+
"avatar_url": "https://avatars.githubusercontent.com/u/707567?v=4",
113+
"profile": "https://snyder.tech",
114+
"contributions": [
115+
"code"
116+
]
117+
},
118+
{
119+
"login": "cloudsbird",
120+
"name": "Vederis Leunardus",
121+
"avatar_url": "https://avatars.githubusercontent.com/u/13505006?v=4",
122+
"profile": "http://vederis.id",
123+
"contributions": [
124+
"code"
125+
]
126+
}
127+
],
128+
"contributorsPerLine": 7,
129+
"skipCi": true,
130+
"repoType": "github",
131+
"repoHost": "https://github.com",
132+
"projectName": "bigcapital",
133+
"projectOwner": "bigcapitalhq"
134+
}

.env.example

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Mail
2+
MAIL_HOST=
3+
MAIL_USERNAME=
4+
MAIL_PASSWORD=
5+
MAIL_PORT=
6+
MAIL_SECURE=
7+
MAIL_FROM_NAME=
8+
MAIL_FROM_ADDRESS=
9+
10+
# Database
11+
DB_HOST=localhost
12+
DB_USER=bigcapital
13+
DB_PASSWORD=bigcapital
14+
DB_ROOT_PASSWORD=root
15+
DB_CHARSET=utf8
16+
17+
# System database
18+
SYSTEM_DB_NAME=bigcapital_system
19+
# SYSTEM_DB_USER=
20+
# SYSTEM_DB_PASSWORD=
21+
# SYSTEM_DB_NAME=
22+
# SYSTEM_DB_CHARSET=
23+
24+
# Tenant databases
25+
TENANT_DB_NAME_PERFIX=bigcapital_tenant_
26+
# TENANT_DB_HOST=
27+
# TENANT_DB_USER=
28+
# TENANT_DB_PASSWORD=
29+
# TENANT_DB_CHARSET=
30+
31+
# Application
32+
BASE_URL=http://example.com
33+
JWT_SECRET=b0JDZW56RnV6aEthb0RGPXVEcUI
34+
35+
# Jobs MongoDB
36+
MONGODB_DATABASE_URL=mongodb://localhost/bigcapital
37+
38+
# App proxy
39+
PUBLIC_PROXY_PORT=80
40+
PUBLIC_PROXY_SSL_PORT=443
41+
42+
# Agendash
43+
AGENDASH_AUTH_USER=agendash
44+
AGENDASH_AUTH_PASSWORD=123123
45+
46+
# Sign-up restrictions
47+
SIGNUP_DISABLED=false
48+
SIGNUP_ALLOWED_DOMAINS=
49+
SIGNUP_ALLOWED_EMAILS=
50+
51+
# Sign-up Email Confirmation
52+
SIGNUP_EMAIL_CONFIRMATION=false
53+
54+
# API rate limit (points,duration,block duration).
55+
API_RATE_LIMIT=120,60,600
56+
57+
# Gotenberg API for PDF printing - (production).
58+
GOTENBERG_URL=http://gotenberg:3000
59+
GOTENBERG_DOCS_URL=http://server:3000/public/
60+
61+
# Gotenberg API - (development)
62+
# GOTENBERG_URL=http://localhost:9000
63+
# GOTENBERG_DOCS_URL=http://host.docker.internal:3000/public/
64+
65+
# Exchange Rate Service
66+
EXCHANGE_RATE_SERVICE=open-exchange-rate
67+
68+
# Open Exchange Rate
69+
OPEN_EXCHANGE_RATE_APP_ID=
70+
71+
# The Plaid environment to use ('sandbox' or 'development').
72+
# https://plaid.com/docs/#api-host
73+
PLAID_ENV=sandbox
74+
75+
# Your Plaid keys, which can be found in the Plaid Dashboard.
76+
# https://dashboard.plaid.com/account/keys
77+
PLAID_CLIENT_ID=
78+
PLAID_SECRET_DEVELOPMENT=
79+
PLAID_SECRET_SANDBOX=
80+
81+
PLAID_LINK_WEBHOOK=
82+
83+
# (Optional) Redirect URI settings section
84+
# Only required for OAuth redirect URI testing (not common on desktop):
85+
# Sandbox Mode:
86+
# Set the PLAID_SANDBOX_REDIRECT_URI below to 'http://localhost:3001/oauth-link'.
87+
# The OAuth redirect flow requires an endpoint on the developer's website
88+
# that the bank website should redirect to. You will also need to configure
89+
# this redirect URI for your client ID through the Plaid developer dashboard
90+
# at https://dashboard.plaid.com/team/api.
91+
# Development mode:
92+
# When running in development mode, you must use an https:// url.
93+
# You will need to configure this https:// redirect URI in the Plaid developer dashboard.
94+
# Instructions to create a self-signed certificate for localhost can be found at
95+
# https://github.com/plaid/pattern/blob/master/README.md#testing-oauth.
96+
# If your system is not set up to run localhost with https://, you will be unable to test
97+
# the OAuth in development and should leave the PLAID_DEVELOPMENT_REDIRECT_URI blank.
98+
99+
PLAID_SANDBOX_REDIRECT_URI=
100+
PLAID_DEVELOPMENT_REDIRECT_URI=
101+
102+
# https://docs.lemonsqueezy.com/guides/developer-guide/getting-started#create-an-api-key
103+
LEMONSQUEEZY_API_KEY=
104+
LEMONSQUEEZY_STORE_ID=
105+
LEMONSQUEEZY_WEBHOOK_SECRET=

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
docker/nginx/scripts/build-nginx.sh text eol=lf
2+
docker/mariadb/docker-entrypoint.sh text eol=lf

.github/FUNDING.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: Bigcapital # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# This workflow will build a docker container, publish it to Github Registry.
2+
name: Build and Deploy Docker Container
3+
on:
4+
release:
5+
types: [created]
6+
workflow_dispatch:
7+
8+
env:
9+
WEBAPP_IMAGE_NAME: bigcapitalhq/webapp
10+
SERVER_IMAGE_NAME: bigcapitalhq/server
11+
12+
jobs:
13+
build-publish-webapp:
14+
strategy:
15+
fail-fast: false
16+
name: Build and deploy webapp container
17+
runs-on: ubuntu-latest
18+
environment: production
19+
steps:
20+
- name: Prepare
21+
run: |
22+
platform=${{ matrix.platform }}
23+
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
24+
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Set up Docker Buildx
29+
uses: docker/setup-buildx-action@v3
30+
31+
# Login to Container registry.
32+
- name: Log in to the Container registry
33+
uses: docker/login-action@v3
34+
with:
35+
username: ${{ secrets.DOCKER_USERNAME }}
36+
password: ${{ secrets.DOCKER_PASSWORD }}
37+
38+
- name: Extract metadata (tags, labels) for Docker
39+
id: meta
40+
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
41+
with:
42+
images: ${{ env.WEBAPP_IMAGE_NAME }}
43+
44+
# Builds and push the Docker image.
45+
- name: Build and push Docker image
46+
uses: docker/build-push-action@v5
47+
id: build
48+
with:
49+
context: ./
50+
file: ./packages/webapp/Dockerfile
51+
platforms: linux/amd64,linux/arm64
52+
push: true
53+
labels: ${{ steps.meta.outputs.labels }}
54+
tags: bigcapitalhq/webapp:latest, bigcapitalhq/webapp:${{github.ref_name}}
55+
56+
- name: Export digest
57+
run: |
58+
mkdir -p /tmp/digests
59+
digest="${{ steps.build.outputs.digest }}"
60+
touch "/tmp/digests/${digest#sha256:}"
61+
62+
- name: Upload digest
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: digests-webapp
66+
path: /tmp/digests/*
67+
if-no-files-found: error
68+
retention-days: 1
69+
# Send notification to Slack channel.
70+
- name: Slack Notification built and published webapp container successfully.
71+
uses: rtCamp/action-slack-notify@v2
72+
env:
73+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
74+
75+
build-publish-server:
76+
name: Build and deploy server container
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Prepare
80+
run: |
81+
platform=${{ matrix.platform }}
82+
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
83+
84+
- name: Checkout
85+
uses: actions/checkout@v4
86+
87+
- name: Set up Docker Buildx
88+
uses: docker/setup-buildx-action@v3
89+
90+
# Login to Container registry.
91+
- name: Log in to the Container registry
92+
uses: docker/login-action@v3
93+
with:
94+
username: ${{ secrets.DOCKER_USERNAME }}
95+
password: ${{ secrets.DOCKER_PASSWORD }}
96+
97+
# Builds and push the Docker image.
98+
- name: Build and push Docker image
99+
uses: docker/build-push-action@v5
100+
id: build
101+
with:
102+
context: ./
103+
file: ./packages/server/Dockerfile
104+
platforms: linux/amd64,linux/arm64
105+
push: true
106+
tags: bigcapitalhq/server:latest, bigcapitalhq/server:${{github.ref_name}}
107+
labels: ${{ steps.meta.outputs.labels }}
108+
109+
- name: Export digest
110+
run: |
111+
mkdir -p /tmp/digests
112+
digest="${{ steps.build.outputs.digest }}"
113+
touch "/tmp/digests/${digest#sha256:}"
114+
115+
- name: Upload digest
116+
uses: actions/upload-artifact@v4
117+
with:
118+
name: digests-server
119+
path: /tmp/digests/*
120+
if-no-files-found: error
121+
retention-days: 1
122+
123+
# Send notification to Slack channel.
124+
- name: Slack Notification built and published server container successfully.
125+
uses: rtCamp/action-slack-notify@v2
126+
env:
127+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

0 commit comments

Comments
 (0)