https://github.com/michaeljwright/agile-lead-platform
An Agile Platform for Product Engineering. Create your team, set sprint goals, track waste and play planning poker to help estimate your stories
https://github.com/michaeljwright/agile-lead-platform
agile agile-development agile-methodologies firebase firebase-auth firestore free mit-license nextjs open-source planning-poker radix-ui react scrum-poker self-hosted sprint-goals sprint-planner sprint-planning stand-up waste-snake
Last synced: 6 months ago
JSON representation
An Agile Platform for Product Engineering. Create your team, set sprint goals, track waste and play planning poker to help estimate your stories
- Host: GitHub
- URL: https://github.com/michaeljwright/agile-lead-platform
- Owner: michaeljwright
- License: mit
- Created: 2024-04-30T15:26:23.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-01T13:01:28.000Z (almost 2 years ago)
- Last Synced: 2024-08-01T20:33:35.591Z (almost 2 years ago)
- Topics: agile, agile-development, agile-methodologies, firebase, firebase-auth, firestore, free, mit-license, nextjs, open-source, planning-poker, radix-ui, react, scrum-poker, self-hosted, sprint-goals, sprint-planner, sprint-planning, stand-up, waste-snake
- Language: TypeScript
- Homepage: https://agilelead.co.uk/
- Size: 1.73 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Requirements
- [Node.js 18v >=](https://nodejs.org/en/) _always use NVM locally_
- Firebase (Auth, Firestore, Analytics)
## Clone the repo
```bash
$ git clone https://github.com/michaeljwright/agile-lead-platform.git
$ cd agile-lead-platform
```
## Setup
1. Copy `.env-example` and rename to `.env-local`
2. Go to https://firebase.google.com and create a project for a webapp. Then add the details to the `.env-local` file.
3. Create a Firebase firestore db and set rules to those within `firestore-rules.txt`
4. Remember to change the `SITE_URL` in `.env-local` if you are using a different server or port.
5. If you're deploying to a live environment, its worth setting `ANONYMOUS_SIGNIN_ENABLED` in your env to blank (not false).
## Install & Run
```bash
$ npm install
# or
$ yarn
# Run in Development
$ npm run dev
# or
$ yarn dev
# Run in Production
$ npm run build
$ npm run start
#or
$ yarn build
$ yarn start
```
## Setup & Run Tests
A lot of work needs doing on the test coverage. We are working on it!
### Jest Unit Tests
To run the unit tests, simply run `npm test`
### Cypress E2E Tests
To run the E2E tests, you need to jump through a few hoops due to Firebase auth etc.
1. Generate and download a service account as described in https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments
2. Create the file `./serviceAccount.json` in your project root and add the contents of the downloaded json file from above.
3. Create the file `./cypress.env.json` in your project root and add the following below.
```json
{
"TEST_UID": "",
"FIREBASE_PROJECT_ID": "",
"FIREBASE_API_KEY": ""
}
```
4. Run the tests with cypress using `npx cypress open` and then selecting the specific tests you want to run.