This repository holds the frontend code of meaningfulcode.org.
The full list of projects can be seen at https://github.com/Meaningful-Code/meaningful-projects.
The goal of this website is to promote meaningful and open-source projects looking for new contributors, willing to make a difference. Projects are regrouped in different categories: Health, Education, Environment, Society, and Humanitarian.
Contributors are very welcome, to help us you can:
- ➕ Suggest impactful projects: Finding those is tough, this is the best way to help
- Create a pull request on meaningful-projects or use the online form
- 💻 Contribute to the project: UI, Frontend, Backend. Feel free to ask on Discord
- ❤️ Sponsor the development
But you can also...
- 🐛 Report an issue
- 💡 Suggest a new feature
- 💬 Or just let us know your thoughts on the Discord!
The project uses:
- Frontend: Next.js with App router, React, and Material UI with Typescript.
- Backend (available separately): Node & Express (Typescript), AWS Lambda & DynamoDB.
- Hosting: the full solution currently runs on Vercel.
The rest of the instructions on this page focus on the frontend.
The following steps guide you to setup your environment:
-
Configure the frontend to use local stub data by creating a
.env.localfile containingREACT_APP_FORCE_API=stub -
Run the development server with
yarn dev. You should see:yarn run v1.22.19 $ next dev ▲ Next.js 14.0.4 - Local: http://localhost:3000 - Environments: .env.local ✓ Ready in 1059ms
Note that the backend (src/app/api) is not available publicly for security reasons.
-
Checkout the
apisubmodule:git submodule update --init -
Set the appropriate environment variables in
.env.localand addMEANINGFUL_DEV=1 -
Run with
yarn dev.
-
REACT_APP_FORCE_APIenvironment variable can be set tostub,local, API expected athttp://localhost:3001,- or
prod.
-
MEANINGFUL_DEVforces usinglocalhostfor API endpoints
To test a production build, simply run:
yarn buildnpm install -g serveserve -s build
This project is licensed under GPL-v3.