Hey there! 👋 Welcome to our little corner of the internet where we're trying to make tech blogs less boring (and maybe even fun).
We've got three main parts (because who doesn't love a good trilogy?):
-
The Public Frontend (in
client-app)- This is where the magic happens
- Shows all the cool tech articles we've collected
- Pretty much anyone can access this (yes, even your cat 🐱)
-
The Secret Admin Panel (in
admin-panel)- This is where we pretend to be important
- Add/remove sources and articles
- Please don't hack this (we're looking at you, curious developer)
-
The Backend (in
backend)- The brain of the operation
- Talks to our Postgres database
- Handles all the API stuff (because someone has to)
# Terminal 1 - Backend
cd backend && npm run dev
# Terminal 2 - Frontend
cd client-app && npm run dev
# Terminal 3 - Admin Panel
cd admin-panel && npm run devCommit your changes with the appropriate tags to trigger the pipeline:
# For frontend changes
git commit -m "your message [client-app]"
# For backend changes
git commit -m "your message [backend]"
# For admin panel changes
git commit -m "your message [admin-panel]"You can also manually trigger builds from the GitHub Actions tab.
Now go grab a coffee while Docker does its thing
- A newsletter component (because apparently emails aren't dead yet)
- More features that we'll probably procrastinate on
- Maybe some AI stuff (because that's what everyone's doing these days)
If you're setting up Traefik for the first time (and wondering what you got yourself into):
# Create a cozy home for Traefik
sudo mkdir -p /etc/traefik
# Create the magical ACME file
sudo touch /etc/traefik/acme.json
# Make it super secret (chmod 600, because security!)
sudo chmod 600 /etc/traefik/acme.jsonFound a bug? Want to add a feature? Know how to center a div? We'd love your help!
MIT (because we're cool like that)
Built with ❤️ and probably too much caffeine
fix - updated the pipeline to stop the backend application remove the image and then pull the new image and recreate the container [backend]