This repository contains the source code for https://confessit.app.
We welcome anyone who would like to contribute to this project. Please see our code of conduct for more information. And feel free to get in touch by starting a discussion or commenting on an issue here on GitHub.
- We highly recommend using nvm to manage your Node installation. See the nvm Installation Instructions. We have a
.nvmrc
checked in, so runningnvm install
in this project directory after setting up nvm will ensure the correct Node version is installed. - We use NPM to manage our dependencies. Install the project dependencies with
npm install
. - Run
npm run dev
to build the project and run the development server. You can kill the server withCTRL-C
and restart it any time withnpm run dev
again.
This project is a progressive web app Astro app with React. Reading the React and Astro docs will help you get started if you're not already familiar with these frameworks. We use TailwindCSS with DaisyUI as our CSS framework and astro-i18next for translations.
See CONTRIBUTING for more information about how to contribute to the development of ConfessIt.
We use astro-i18next (not officially
part of i18next) for i18n, along with
react-i18next for the React portions of our app.
Astro pages are generated statically. The English versions are the source code,
non-English versions are generated from the English versions using npx astro-i18next generate
. Astro itself is basically unaware that these are
translated/generated pages, and treats them like any other astro file. So
they'll work with any Astro command like npm run dev
, but you need to re-run
npx astro-i18next generate
any time you modify the English source, because
nothing is watching those files to update the translated versions.
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add , astro check |
npm run astro -- --help |
Get help using the Astro CLI |
We want to support more languages, and welcome translation additions and improvements! See CONTRIBUTING for more information about how to add or improve a translation to a different language.
Our main
branch is continuously deployed via Netlify. Simply merge to main and the site will be updated.
You can learn more in the Astro documentation.
To learn React, check out the React documentation.
For styling, see the TailwindCSS and DaisyUI documentation.
We're also using Swiper for the swipable columns.
The app is deployed to https://confessit.app, hosted on Netlify.