You are browsing as a guest. Sign up (or log in) to start making projects!

Multi Tenant Business Management Backend

  • 8 Devlogs
  • 29 Total hours

A multi-tenant REST API for invoicing, payments, and business operations. Models a real SaaS invoicing platform and solves the core architectural problems those systems face: per-tenant data isolation, concurrent invoice numbering, transactional payment recording, and financial record immutability. Stack: Bun · Node.js · TypeScript · Express 5 · MongoDB · JWT · Passport.js · Cloudinary · Puppeteer · Resend · Docker · Vitest · Supertest

Open comments for this post

2h 10m 33s logged

Devlog - 08

Since I was building a front end for this project and when designing the front end I didn’t had a route for getting all the businesses the logged in user is part of. So I added that route to show all the businesses on the home page of dashboard

And also I have email, password login so I needed a route to verify the user who has used email password using a verification code sent on their email. So I updated the user model and added that route too.

Next thing was I added those routes to my openApi docs and also I updated my readme.md and other mds in root docs/ folder.

One more thing is left in this project is to have separate analytics routes for separate modules like clients analytics, products analytics then main dashboard analytics.

I will make them once a get a jump on front end since I’m laking behind there

0
0
4
Open comments for this post

3h 31m 59s logged

Devlog - 07

Since its a Backend API so I needed to create a api endpoints docs to showcase the project to other people as some UI helps in showcasing

I used scalar and openAPI docs for my project, It took me some time to understand what to do but I was finally able to do it

And then during deployment I made an error of putting some dependencies into dev dependencies as they were prefixed with @.

Finally was able to get my docker deployment working

0
0
4
Ship #1 Changes requested

**What did you make?**
I built an open-source business management platform backend with authentication, Google OAuth, workspaces, clients, products/services, invoices, payments, analytics, PDF invoice generation, email delivery, and Docker support.

**What was challenging?**
Building a scalable architecture, writing integration tests, handling workspace permissions, debugging file uploads, and getting Puppeteer PDF generation working reliably in Docker.

**What are you proud of?**
The complete business workflow, clean architecture, Dockerized deployment, and 39+ integration tests that help ensure reliability.

**How can people test it?**
Docker setup and environment configuration are included. They can directly docker compose or run using bun or npm

  • 6 devlogs
  • 23h
Try project → See source code →
Open comments for this post

28m 53s logged

Devlog -6

Added a analytics endpoint and its time to end the backend project and move on to the frontend of the project.

If issues come up designing the frontend, will have to comeback to fix it.

Till then i have deployed it with docker on railway.com

0
0
3
Open comments for this post

1h 47m 59s logged

Devlog - 05

After adding tests, I decided to dockerize the project. But i was using puppeteer and it causes some issues in docker so i changed it to puppeteer-core and add install commands for chromium separately in docker file.

I made everything work after some brutal hours of debugging and fixing and learning as this is my first time working with docker

0
0
3
Open comments for this post

9h 59m 9s logged

Devlog 4 - Backend Testing Marathon 🧪

Spent few days building out integration tests for my Express + TypeScript backend.

Added test coverage for:

  • User registration & login
  • Refresh token flow
  • Forgot/reset password
  • Clients
  • Products (including file uploads)
  • Invoices & payments
  • Workspace/business authorization

Also set up:

  • MongoDB Memory Server for isolated test databases
  • Factories for generating users, businesses, invoices, products, etc.
  • Mocks for Cloudinary, Resend, and bcrypt

Ran into a pretty annoying EPIPE error while testing multipart file uploads. After a lot of debugging, I tracked it down to file stream handling in tests. Switching upload tests to use Buffers instead of fixture files made the suite stable again.

Current stats:

  • 39 tests
  • 15 test files
  • Full integration test suite passing ✅
0
0
2

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…