- MacOS or Linux (Windows may work too, but we haven't tested it)
- NodeJS 18.x or above
- Check version by running
node -v
on terminal
- Check version by running
- Npm
- Mysql
- Docker (for running mysql locally)
- Fork the project
- Clone your forked project by running
git clone https://github.com/tecklens/abflags.git
- Run
cd abflags
- Run
npm i
to install dependencies - If you have Docker installed, run
docker compose up
- If you run local, run backend
nx serve api
, run frontendnx serve client
If you need to change any of the default configuration settings, you can use environment variables:
- Backend:
apps/api/.env
,apps/api/.env.dev
,apps/api/.env.prod
- Frontend:
apps/client/.env
This repository is a monorepo with the following packages:
- apps/api: is an Nestjs app and serves as the REST api for the front-end.
- apps/client: is a Reactjs app (Vite) and contains the full UI of the Abflags app.
- libs/shared: is a collection of Typescript functions, interface, types and constants shared between the front-end and back-end.
- libs/js-sdk: is our javascript/typescript SDK
- docs: show more in this repository docs
Depending on what you're changing, you may need to edit one or more of these packages.
Run nx serve api
to run backend, and run nx serve client
to run frontend.
The packages are available at the following urls with hot-reloading:
- Frontend: http://localhost:4200/
- Backend: http://localhost:3232/
Create user for abflags:
create user 'abflags'@'<ip pc address>' identified by '<password in backend env>';
Grant permission for backend:
GRANT ALL PRIVILEGES
ON abflags.*
TO 'abflags'@'<ip pc address>'
IDENTIFIED BY '<password in backend env>'
WITH GRANT OPTION;
- Please Provide a thoughtful commit message and push your changes to your fork using git push origin main (assuming your forked project is using origin for the remote name and you are on the main branch).
- Open a Pull Request on GitHub with a description of your changes.
Join our Slack community if you need help getting set up or want to chat. We're also happy to hop on a call and do some pair programming.