LetsGrow is a modern, community-driven gardening app designed to help gardeners of all experience levels track their plants, share their successes and failures, and learn from each other. The platform makes it easy to manage your personal garden, log journal entries for your plants, and discover best practices from fellow growers. Whether you're a beginner or a seasoned gardener, LetsGrow aims to make gardening more approachable, fun, and successful.
- Personal Garden Management: Add, edit, and track plants in your own garden.
- Journal Entries: Log notes, observations, and photos for each plant over time.
- Community Knowledge: Learn from others' journal entries and plant data.
- Role-Based Permissions: Admins can manage the global plant database.
- Auth0 Authentication: Secure login and user management.
- Modern UI: Clean, responsive design with consistent, accessible components.
- Node.js (v16+ recommended)
- Yarn or npm
- PostgreSQL (for backend database)
- Auth0 account (for authentication)
git clone https://github.com/yourusername/lets-grow.git
cd lets-growyarn install
# or
npm installcd server
yarn install
# or
npm install
cd ..Create a .env file in the project root and in server/ with the following (see .env.example if available):
REACT_APP_AUTH_DOMAIN=your-auth0-domain
REACT_APP_AUTH_CLIENT_ID=your-auth0-client-id
REACT_APP_AUTH_AUDIENCE=your-auth0-api-audience
REACT_APP_LETS_GROW_API=http://localhost:7070
PORT=7070
DB_NAME=lets_grow
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_HOST=localhost
DB_PORT=5432
AUTH0_AUDIENCE=your-auth0-api-audience
AUTH0_ISSUER_BASE_URL=https://your-auth0-domain/
SIGNING_ALG=RS256
- Ensure PostgreSQL is running.
- Create the database (if not already):
cd server
yarn run create-db
# or
npm run create-db- Run migrations:
yarn run migrate
# or
npm run migratecd server
yarn start
# or
npm startyarn start
# or
npm startThe frontend will run on http://localhost:3000 and the backend on http://localhost:7070 by default.
- Set environment variables as above, but use production values.
- Build the frontend:
This outputs static files to
yarn build # or npm run buildbuild/. - Deploy the backend (Node.js server) to your production server or cloud provider.
- Serve the frontend using a static file server (e.g., Nginx, Vercel, Netlify) or via the backend if configured.
- Ensure the backend API and Auth0 are accessible from your frontend domain.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
MIT