add contributing guidelines

This commit is contained in:
Nathaniel Tampus
2023-05-10 22:27:48 +08:00
parent d1283792f8
commit aebdf96a17
2 changed files with 85 additions and 67 deletions

View File

@@ -22,72 +22,6 @@ Yet another Chess web app. Live demo at [ches.su](https://ches.su).
Built with Next.js 13, Tailwind CSS + daisyUI, react-chessboard, chess.js, Express.js, socket.io and PostgreSQL.
## Configuration
> Node.js 18 or newer is recommended.
This project is structured as a monorepo using npm workspaces, separated into three packages:
- `client` - Next.js application for the front-end, deployed to [ches.su](https://ches.su) via Vercel.
- `server` - Node/Express.js application for the back-end, deployed to [server.ches.su](https://server.ches.su) via Railway.
- `types` - Shared type definitions for the client and server.
For separate deployments, you may exclude the `client` or `server` directory. However, you should include the `types` folder as it contains shared type definitions that are required by both packages.
### Environment variables
client:
```env
NEXT_PUBLIC_API_URL=http://localhost:3001 # replace with backend URL
```
server:
```env
CORS_ORIGIN=http://localhost:3000 # replace with frontend URL
PORT=3001
SESSION_SECRET=randomstring # replace for security
# PostgreSQL connection info (required)
PGHOST=db.example.com
PGUSER=exampleuser
PGPASSWORD=examplepassword
PGDATABASE=chessu
```
You may also create a `.env` file in each package directory to set their environment variables.
### Scripts
For development:
```sh
# install all dependencies, including eslint and prettier
npm install
# concurrently run frontend and backend development servers
npm run dev
# or run them separately
npm run dev -w client
npm run dev -w server
```
For production:
```sh
# for separate deployments
npm install -w client
npm install -w server
npm run build -w client
npm run build -w server
npm start -w client
npm start -w server
```
## Contributing
Pull requests are welcome. For feature changes or suggestions, please open an issue first for discussion.
Please read our [Code of Conduct](./CODE_OF_CONDUCT.md) and [Contributing Guidelines](./CONTRIBUTING.md) before starting a pull request.