Skip to content

Commit 336ca87

Browse files
Merge pull request #408 from CodeForAfrica/ft/post-to-meedan
Upload to Meedan
2 parents ed69ebe + 46dd90b commit 336ca87

24 files changed

+1793
-1421
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
---
5+
6+
**Describe the bug**
7+
A clear and concise description of what the bug is.
8+
9+
**To Reproduce**
10+
Steps to reproduce the behavior:
11+
12+
1. Go to '...'
13+
2. Click on '....'
14+
3. Scroll down to '....'
15+
4. See error
16+
17+
**Expected behavior**
18+
A clear and concise description of what you expected to happen.
19+
20+
**Screenshots**
21+
If applicable, add screenshots to help explain your problem.
22+
23+
**Desktop (please complete the following information):**
24+
25+
- OS: [e.g. iOS]
26+
- Browser [e.g. chrome, safari]
27+
- Version [e.g. 22]
28+
29+
**Smartphone (please complete the following information):**
30+
31+
- Device: [e.g. iPhone6]
32+
- OS: [e.g. iOS8.1]
33+
- Browser [e.g. stock browser, safari]
34+
- Version [e.g. 22]
35+
36+
**Additional context**
37+
Add any other context about the problem here.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
---
5+
6+
**Is your feature request related to a problem? Please describe.**
7+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
8+
9+
**Describe the solution you'd like**
10+
A clear and concise description of what you want to happen.
11+
12+
**Describe alternatives you've considered**
13+
A clear and concise description of any alternative solutions or features you've considered.
14+
15+
**Additional context**
16+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Description
2+
3+
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
4+
5+
Fixes # (issue)
6+
7+
## Type of change
8+
9+
Please delete options that are not relevant.
10+
11+
- [ ] Bug fix (non-breaking change which fixes an issue)
12+
- [ ] New feature (non-breaking change which adds functionality)
13+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
14+
- [ ] This change requires a documentation update
15+
16+
## Screenshots
17+
18+
## Checklist:
19+
20+
- [ ] My code follows the style guidelines of this project
21+
- [ ] I have performed a self-review of my own code
22+
- [ ] I have commented my code, particularly in hard-to-understand areas
23+
- [ ] I have made corresponding changes to the documentation

README.md

Lines changed: 15 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,19 @@
1-
# Payload Blank Template
1+
**PromiseTracker**, is a tool to help journalists and civil society watchdogs more easily track campaign promises and other political / government pledges, using official evidence / data, as well as crowdsourced information, with a transparent and defensible methodology, to help inject accountability and honesty into the often cavalier way that promises are made to citizens to win their support for elections, policies, contracts ... but are then seldom honoured.
22

3-
This template comes configured with the bare minimum to get started on anything you need.
3+
### Requirements
44

5-
## Quick start
5+
1. CheckDesk API Key and Team ID
6+
2. Airtable API Key and Base ID
7+
3. Google Gemini API Key.
8+
4. Docker
69

7-
This template can be deployed directly from our Cloud hosting and it will setup MongoDB and cloud S3 object storage for media.
10+
## Running the App.
811

9-
## Quick Start - local setup
10-
11-
To spin up this template locally, follow these steps:
12-
13-
### Clone
14-
15-
After you click the `Deploy` button above, you'll want to have standalone copy of this repo on your machine. If you've already cloned this repo, skip to [Development](#development).
16-
17-
### Development
18-
19-
1. First [clone the repo](#clone) if you have not done so already
20-
2. `cd my-project && cp .env.example .env` to copy the example environment variables. You'll need to add the `MONGODB_URI` from your Cloud project to your `.env` if you want to use S3 storage and the MongoDB database that was created for you.
21-
22-
3. `pnpm install && pnpm dev` to install dependencies and start the dev server
23-
4. open `http://localhost:3000` to open the app in your browser
24-
25-
That's it! Changes made in `./src` will be reflected in your app. Follow the on-screen instructions to login and create your first admin user. Then check out [Production](#production) once you're ready to build and serve your app, and [Deployment](#deployment) when you're ready to go live.
26-
27-
#### Docker (Optional)
28-
29-
If you prefer to use Docker for local development instead of a local MongoDB instance, the provided docker-compose.yml file can be used.
30-
31-
To do so, follow these steps:
32-
33-
- Modify the `MONGODB_URI` in your `.env` file to `mongodb://127.0.0.1/<dbname>`
34-
- Modify the `docker-compose.yml` file's `MONGODB_URI` to match the above `<dbname>`
35-
- Run `docker-compose up` to start the database, optionally pass `-d` to run in the background.
36-
37-
## How it works
38-
39-
The Payload config is tailored specifically to the needs of most websites. It is pre-configured in the following ways:
40-
41-
### Collections
42-
43-
See the [Collections](https://payloadcms.com/docs/configuration/collections) docs for details on how to extend this functionality.
44-
45-
- #### Users (Authentication)
46-
47-
Users are auth-enabled collections that have access to the admin panel.
48-
49-
For additional help, see the official [Auth Example](https://github.com/payloadcms/payload/tree/main/examples/auth) or the [Authentication](https://payloadcms.com/docs/authentication/overview#authentication-overview) docs.
50-
51-
- #### Media
52-
53-
This is the uploads enabled collection. It features pre-configured sizes, focal point and manual resizing to help you manage your pictures.
54-
55-
### Docker
56-
57-
Alternatively, you can use [Docker](https://www.docker.com) to spin up this template locally. To do so, follow these steps:
58-
59-
1. Follow [steps 1 and 2 from above](#development), the docker-compose file will automatically use the `.env` file in your project root
60-
1. Next run `docker-compose up`
61-
1. Follow [steps 4 and 5 from above](#development) to login and create your first admin user
62-
63-
That's it! The Docker instance will help you get up and running quickly while also standardizing the development environment across your teams.
64-
65-
## Questions
66-
67-
If you have any issues or questions, reach out to us on [Discord](https://discord.com/invite/payload) or start a [GitHub discussion](https://github.com/payloadcms/payload/discussions).
12+
1. Install dependencies
13+
`pnpm i`
14+
2. Start Apache Tika
15+
`docker compose up -d`
16+
3. Run dev server
17+
`pnpm dev`
18+
4. Update settings in admin
19+
[/admin/globals/settings]

package.json

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,45 +21,46 @@
2121
"generate:airtable": "airtable-ts-codegen --apiKey $AIRTABLE_API_KEY --baseId $AIRTABLE_BASE_ID --output ./src/airtable.ts"
2222
},
2323
"dependencies": {
24-
"@ai-sdk/google": "2.0.0-beta.19",
25-
"@ax-llm/ax": "^14.0.4",
26-
"@payloadcms/db-mongodb": "3.50.0",
27-
"@payloadcms/next": "3.50.0",
28-
"@payloadcms/payload-cloud": "3.50.0",
29-
"@payloadcms/richtext-lexical": "3.50.0",
30-
"@payloadcms/ui": "3.50.0",
31-
"ai": "5.0.0-beta.34",
24+
"@ai-sdk/google": "^2.0.8",
25+
"@ax-llm/ax": "^14.0.16",
26+
"@payloadcms/db-mongodb": "3.53.0",
27+
"@payloadcms/next": "3.53.0",
28+
"@payloadcms/payload-cloud": "3.53.0",
29+
"@payloadcms/richtext-lexical": "3.53.0",
30+
"@payloadcms/ui": "3.53.0",
31+
"ai": "^5.0.22",
3232
"airtable": "^0.12.2",
3333
"airtable-ts": "^1.6.0",
3434
"airtable-ts-formula": "^1.0.0",
35-
"cross-env": "^7.0.3",
36-
"dotenv": "16.4.7",
37-
"graphql": "^16.8.1",
35+
"cross-env": "^10.0.0",
36+
"dotenv": "17.2.1",
37+
"graphql": "^16.11.0",
38+
"lucide-react": "^0.541.0",
3839
"next": "15.4.6",
39-
"payload": "3.50.0",
40+
"payload": "3.53.0",
4041
"react": "19.1.1",
4142
"sharp": "0.34.3",
42-
"tiktoken": "^1.0.21",
43-
"zod": "^4.0.15"
43+
"tiktoken": "^1.0.22",
44+
"zod": "^4.1.1"
4445
},
4546
"devDependencies": {
4647
"@eslint/eslintrc": "^3.3.1",
47-
"@playwright/test": "1.54.1",
48+
"@playwright/test": "1.55.0",
4849
"@testing-library/react": "16.3.0",
49-
"@types/node": "^22.5.4",
50-
"@types/react": "19.1.8",
51-
"@types/react-dom": "19.1.6",
52-
"@vitejs/plugin-react": "4.5.2",
50+
"@types/node": "^24.3.0",
51+
"@types/react": "19.1.11",
52+
"@types/react-dom": "19.1.7",
53+
"@vitejs/plugin-react": "5.0.1",
5354
"airtable-ts-codegen": "^2.1.0",
54-
"eslint": "^9.16.0",
55-
"eslint-config-next": "15.4.4",
55+
"eslint": "^9.34.0",
56+
"eslint-config-next": "15.4.6",
5657
"jsdom": "26.1.0",
57-
"playwright": "1.54.1",
58-
"playwright-core": "1.54.1",
59-
"prettier": "^3.4.2",
60-
"typescript": "5.7.3",
58+
"playwright": "1.55.0",
59+
"playwright-core": "1.55.0",
60+
"prettier": "^3.6.2",
61+
"typescript": "5.9.2",
6162
"vite-tsconfig-paths": "5.1.4",
62-
"vitest": "3.2.3"
63+
"vitest": "3.2.4"
6364
},
6465
"engines": {
6566
"node": "^18.20.2 || >=20.9.0",
@@ -72,5 +73,5 @@
7273
"unrs-resolver"
7374
]
7475
},
75-
"packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac"
76+
"packageManager": "pnpm@10.12.1"
7677
}

0 commit comments

Comments
 (0)