A Progressive Web App (PWA) dedicated to celebrating the special dates and milestones in my relationship with my girlfriend. It’s a digital keepsake to revisit the sweetness and happiness of our story.
├── app # react app
│ ├── public # public files
│ │ └── icons # pwa icons
│ └── src
│ ├── assests
│ ├── components # ui components
│ ├── contexts # react contexts
│ └── styles # css files
└── cms # strapi cms
├── config # api configurations
├── database
│ └── migrations
├── public # public files
│ └── uploads
├── src
│ ├── admin # admin customization
│ ├── api # api business logic
│ │ └── ...
│ └── extensions
└── types
└── generated
- React with Vite for the frontend app
- Tailwind CSS for UI styling
- Strapi for content management
- SQLite for database
- Node.js
v18
orv20
as of Feb 2025- Strapi supports only Active LTS or Maintenance LTS versions
- Yarn, just my preferred package manager
- Python for SQLite database under the hood
- Docker for easy deployment
Terminal multiplexer like tmux is recommended for convenient development.
- Switch to
app
directory
cd app
- Install packages an run development server
yarn install
yarn dev
- Switch to
cms
directory
cd cms
- Install packages and run development server
yarn install
yarn develop
- Docker registry set up on VPS
- SSL certificate configured for registry's domain
- Replace
<registry-domain>
indocker-compose.yml
and the following steps with the domain of the private registry
- Build docker images
docker build -t <registry-domain>/bb2man-react:latest app/
docker build -t <registry-domain>/bb2man-strapi:latest cms/
- Push images to VPS registry
docker push <registry-domain>/bb2man-react:latest
docker push <registry-domain>/bb2man-strapi:latest
- Create a directory for the project and switch to it
mkdir bb2man
cd bb2man
- Create
docker-compose.yml
and paste the content (copied fromdocker-compose.yml
in this repo)
nano docker-compose.yml
- Pull images and start services
docker compose pull
docker compose up -d