Meaningful-Code / meaningfulcode-frontend

Frontend for https://meaningfulcode.org, promoting open-source for good projects to contribute to.
https://meaningfulcode.org
GNU General Public License v3.0
16 stars 1 forks source link
accessibility education environment frontend health humanitarian meaningful meaningful-contributions mui open-source react social-impact society

Meaningfulcode Logo

MeaningfulCode / frontend

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.

Contributing & Supporting

Contributors are very welcome, to help us you can:

But you can also...

Build

Stack

The project uses:

The rest of the instructions on this page focus on the frontend.

Setup

The following steps guide you to setup your environment:

  1. Install Node 20
  2. Install yarn
  3. Clone this repository, and run yarn install

Run locally without the backend

  1. Configure the frontend to use local stub data by creating a .env.local file containing

    REACT_APP_FORCE_API=stub
  2. 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

Run locally with the backend

Note that the backend (src/app/api) is not available publicly for security reasons.

  1. Checkout the api submodule: git submodule update --init

  2. Set the appropriate environment variables in .env.local and add

    MEANINGFUL_DEV=1
  3. Run with yarn dev.

Environment variables

Production build

To test a production build, simply run:

  1. yarn build
  2. npm install -g serve
  3. serve -s build

License

This project is licensed under GPL-v3.