Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Contributing to ValueCell
TODO: Write contribution guidelines

## Development

### Python Code
**Dev Environment**

To install the development dependencies:

```bash
# Way 1: using --extra dev
uv sync --extra dev

# Way 2: using uvpip
uv pip install --editable ".[dev]"
```

**Lint and Test**

You can run lint and test in the project root directory:
```bash
make format
make lint
make test
```

**Pull Request**

Create pull requests to the `main` branch.
You'd better create a pull request with a github `Labels`, this will help us to review your PR.
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
run:
uv run python/main.py
format:
ruff format --config ./python/pyproject.toml ./python/

lint:
ruff check --config ./python/pyproject.toml ./python/

test:
uv run pytest python/tests/
27 changes: 27 additions & 0 deletions python/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
APP_NAME=ValueCell
APP_VERSION=0.1.0
APP_ENVIRONMENT=development

# Your App secret key will be used for securely signing the session cookie
# Make sure you are changing this key for your deployment with a strong key.
# You can generate a strong key using `openssl rand -base64 42`.
# Alternatively you can set it with `SECRET_KEY` environment variable.
SECRET_KEY="<your-secret-key-change-before-deploying>"

# Ensure UTF-8 encoding
# i18n settings, different locales can be set here.
# Database only supports UTF time and English Data.
LANG=en_US.UTF-8
TIMEZONE=

# API settings
API_ENABLED=true
API_I18N_ENABLED=true
API_HOST=localhost
API_PORT=8000
API_DEBUG=false


# Database settings
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
117 changes: 117 additions & 0 deletions python/locales/en-GB.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"common": {
"yes": "Yes",
"no": "No",
"ok": "OK",
"cancel": "Cancel",
"confirm": "Confirm",
"save": "Save",
"delete": "Delete",
"edit": "Edit",
"add": "Add",
"remove": "Remove",
"search": "Search",
"filter": "Filter",
"sort": "Sort",
"loading": "Loading...",
"error": "Error",
"success": "Success",
"warning": "Warning",
"info": "Information",
"close": "Close",
"back": "Back",
"next": "Next",
"previous": "Previous",
"submit": "Submit",
"reset": "Reset",
"refresh": "Refresh",
"copy": "Copy",
"paste": "Paste",
"cut": "Cut",
"select_all": "Select All",
"clear": "Clear"
},
"navigation": {
"home": "Home",
"dashboard": "Dashboard",
"settings": "Settings",
"profile": "Profile",
"help": "Help",
"about": "About",
"contact": "Contact",
"logout": "Logout",
"login": "Login",
"register": "Register"
},
"forms": {
"required_field": "This field is required",
"invalid_email": "Please enter a valid email address",
"invalid_phone": "Please enter a valid phone number",
"password_too_short": "Password must be at least 8 characters",
"passwords_not_match": "Passwords do not match",
"invalid_date": "Please enter a valid date",
"invalid_number": "Please enter a valid number",
"file_too_large": "File size is too large",
"invalid_file_type": "Invalid file type"
},
"messages": {
"welcome": "Welcome to ValueCell",
"goodbye": "Thank you for using ValueCell",
"data_saved": "Data has been saved successfully",
"data_deleted": "Data has been deleted successfully",
"operation_failed": "Operation failed. Please try again.",
"network_error": "Network error. Please check your connection.",
"unauthorized": "You are not authorised to perform this action",
"session_expired": "Your session has expired. Please login again.",
"maintenance": "System is under maintenance. Please try again later."
},
"datetime": {
"today": "Today",
"yesterday": "Yesterday",
"tomorrow": "Tomorrow",
"this_week": "This Week",
"last_week": "Last Week",
"next_week": "Next Week",
"this_month": "This Month",
"last_month": "Last Month",
"next_month": "Next Month",
"this_year": "This Year",
"last_year": "Last Year",
"next_year": "Next Year",
"now": "Now",
"never": "Never",
"always": "Always"
},
"units": {
"bytes": "Bytes",
"kb": "KB",
"mb": "MB",
"gb": "GB",
"tb": "TB",
"seconds": "Seconds",
"minutes": "Minutes",
"hours": "Hours",
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
},
"app": {
"name": "ValueCell",
"description": "A community-driven, multi-agent platform for financial applications",
"version": "Version {version}",
"copyright": "© {year} ValueCell. All rights reserved."
},
"settings": {
"language": "Language",
"timezone": "Timezone",
"theme": "Theme",
"notifications": "Notifications",
"privacy": "Privacy",
"security": "Security",
"account": "Account",
"preferences": "Preferences",
"general": "General",
"advanced": "Advanced"
}
}
117 changes: 117 additions & 0 deletions python/locales/en-US.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"common": {
"yes": "Yes",
"no": "No",
"ok": "OK",
"cancel": "Cancel",
"confirm": "Confirm",
"save": "Save",
"delete": "Delete",
"edit": "Edit",
"add": "Add",
"remove": "Remove",
"search": "Search",
"filter": "Filter",
"sort": "Sort",
"loading": "Loading...",
"error": "Error",
"success": "Success",
"warning": "Warning",
"info": "Information",
"close": "Close",
"back": "Back",
"next": "Next",
"previous": "Previous",
"submit": "Submit",
"reset": "Reset",
"refresh": "Refresh",
"copy": "Copy",
"paste": "Paste",
"cut": "Cut",
"select_all": "Select All",
"clear": "Clear"
},
"navigation": {
"home": "Home",
"dashboard": "Dashboard",
"settings": "Settings",
"profile": "Profile",
"help": "Help",
"about": "About",
"contact": "Contact",
"logout": "Logout",
"login": "Login",
"register": "Register"
},
"forms": {
"required_field": "This field is required",
"invalid_email": "Please enter a valid email address",
"invalid_phone": "Please enter a valid phone number",
"password_too_short": "Password must be at least 8 characters",
"passwords_not_match": "Passwords do not match",
"invalid_date": "Please enter a valid date",
"invalid_number": "Please enter a valid number",
"file_too_large": "File size is too large",
"invalid_file_type": "Invalid file type"
},
"messages": {
"welcome": "Welcome to ValueCell",
"goodbye": "Thank you for using ValueCell",
"data_saved": "Data has been saved successfully",
"data_deleted": "Data has been deleted successfully",
"operation_failed": "Operation failed. Please try again.",
"network_error": "Network error. Please check your connection.",
"unauthorized": "You are not authorized to perform this action",
"session_expired": "Your session has expired. Please login again.",
"maintenance": "System is under maintenance. Please try again later."
},
"datetime": {
"today": "Today",
"yesterday": "Yesterday",
"tomorrow": "Tomorrow",
"this_week": "This Week",
"last_week": "Last Week",
"next_week": "Next Week",
"this_month": "This Month",
"last_month": "Last Month",
"next_month": "Next Month",
"this_year": "This Year",
"last_year": "Last Year",
"next_year": "Next Year",
"now": "Now",
"never": "Never",
"always": "Always"
},
"units": {
"bytes": "Bytes",
"kb": "KB",
"mb": "MB",
"gb": "GB",
"tb": "TB",
"seconds": "Seconds",
"minutes": "Minutes",
"hours": "Hours",
"days": "Days",
"weeks": "Weeks",
"months": "Months",
"years": "Years"
},
"app": {
"name": "ValueCell",
"description": "A community-driven, multi-agent platform for financial applications",
"version": "Version {version}",
"copyright": "© {year} ValueCell. All rights reserved."
},
"settings": {
"language": "Language",
"timezone": "Timezone",
"theme": "Theme",
"notifications": "Notifications",
"privacy": "Privacy",
"security": "Security",
"account": "Account",
"preferences": "Preferences",
"general": "General",
"advanced": "Advanced"
}
}
Loading