1c68d4be53
chore: Add image capcha code when registering, Dynamically insert custom.css See merge request opensource/answer!358 |
||
---|---|---|
.. | ||
build | ||
public | ||
scripts | ||
src | ||
template | ||
.browserslistrc | ||
.editorconfig | ||
.env.development | ||
.env.production | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.lintstagedrc.json | ||
.npmrc | ||
.prettierrc.json | ||
README.md | ||
commitlint.config.js | ||
config-overrides.js | ||
package.json | ||
pnpm-lock.yaml | ||
static.go | ||
tsconfig.json |
README.md
Answer
Answer
is a modern Q&A community application ✨
To learn more about the philosophy and goals of the project, visit Answer.
⚙️ Prerequisites
pnpm is required by building the Answer project. To installing the pnpm tools with below commands:
corepack enable
corepack prepare pnpm@v7.12.2 --activate
With Node.js v16.17 or newer, you may install the latest version of pnpm by just specifying the tag:
corepack prepare pnpm@latest --activate
🔨 Development
clone the repo locally and run following command in your terminal:
$ git clone git@github.com:answerdev/answer.git answer
$ cd answer/ui
$ pnpm install
$ pnpm start
now, your browser should already open automatically, and autoload http://localhost:3000
.
you can also manually visit it.
👷 Workflow
when cloning repo, and run pnpm install
to init dependencies. you can use project commands below:
pnpm start
run Answer web locally.pnpm build
build Answer for productionpnpm lint
lint and fix the code style
🌍 I18n(Multi-language)
If you need to add or edit a language entry, just go to the /i18n/en_US.yaml
file,
all front-end language entries are placed under the ui
field.
If you would like to help us with the i18n translation, please visit Answer@Crowdin
💡 Project instructions
.
├── cmd
├── configs
├── docs
├── i18n
├── en_US.yaml (basic language file)
├── i18n.yaml (language list)
├── internal
├── ...
└── ui (front-end project starts here)
├── build (built results directory, usually without concern)
├── public (html template for public)
├── scripts (some scripting tools on front-end project)
├── src (almost all front-end resources are here)
├── assets (static resources)
├── common (project information/data defined here)
├── components (all components of the project)
├── hooks (all hooks of the project)
├── i18n (Initialize the front-end i18n)
├── pages (all pages of the project)
├── router (Project routing definition)
├── services (all data api of the project)
├── stores (all data stores of the project)
├── utils (all utils of the project)
🤝 Contributing
Fix Bug
If you find a bug, please don't hesitate to submit an issue to us. If you can fix it, please include a note with your issue submission. If it is a bug definitely, you can submit your PR after we confirm it, which will ensure you don't do anything useless.
Code Review & Comment
In our development, some codes are not logical we know. If you find it, please don't hesitate to submit PR to us. In the same way, some function has no comment. We would appreciate it if you could help us supplement it.
Translation
All our translations are placed in the i18n directory.
- If you find that the corresponding key in the language you are using does not have a translation, you can submit your translation.
- If you want to submit a new language translation, please add your language to the
i18n.yaml
file.
Features or Plugin
- We developed the features for the plan based on the roadmap. If you are suggestions for new functions, please confirm whether they have been planned.
- Plugins will be available in the future, so stay tuned.
📱Environment Support
Edge |
Firefox |
Chrome |
Safari |
---|---|---|---|
last 2 versions | last 2 versions | last 2 versions | last 2 versions |
⭐ Built with
- TypeScript - strongly typed JavaScript
- React.js - Our front end is a React.js app
- React Router - Router library
- Bootstrap - UI library.
- React Bootstrap - UI Library(rebuilt for React)
- axios - Request library
- SWR - Request library
- react-i18next - International library
- zustand - State-management library