The Modern Coworking & Workspace Management Platform
NovaLabs is a full-stack platform built to power the next generation of coworking spaces, tech hubs, and shared workspaces. From biometric attendance to smart invoicing and team management — everything your workspace needs, in one place.
- About
- Key Features
- Tech Stack
- Getting Started
- Usage
- Project Structure
- Contributing
- Roadmap
- License
- Acknowledgements
NovaLabs is built to handle the full operational lifecycle of a modern coworking space — from member onboarding to daily attendance tracking, workspace booking, invoicing, and administrative oversight.
The platform is modular, scalable, and designed with enterprise-grade real-world needs in mind. Whether you're running a single coworking floor or a network of tech hubs across multiple cities, NovaLabs grows with you.
🌐 Live Demo: https://novalabs.vercel.app
| Feature | Description |
|---|---|
| 🔐 Biometric Authentication | Fingerprint-based clock-in/clock-out for members and staff |
| 👥 User & Role Management | Fine-grained account roles, permissions, and team structures |
| 🪑 Workspace & Seat Tracking | Real-time monitoring of workspace occupancy and resource usage |
| 📊 Analytics & Attendance Logs | Rich dashboards with attendance history and activity reports |
| 🧾 Invoicing & Payments | Automated invoice generation and payment notifications |
| 📧 Smart Email Notifications | Branded transactional emails for bookings, payments, and alerts |
| 🔒 2FA & OTP Security | Two-factor authentication and OTP verification flows |
| 🧩 Modular Architecture | Clean, extensible codebase — easy to customize and scale |
| ⛓️ Blockchain Integration | Rust & Stellar smart contracts for on-chain operations |
| 📰 Newsletter Management | Built-in newsletter subscription and confirmation flows |
NovaLabs uses a modern, production-grade full-stack technology stack:
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React, Tailwind CSS |
| Backend | NestJS, Node.js |
| Database | PostgreSQL |
| Auth | JWT, TOTP (2FA), Biometric |
| Blockchain / Contracts | Rust, Stellar |
| Transactional email templates (HTML) | |
| Deployment | Vercel (Frontend), Node server (Backend) |
| CI/CD | GitHub Actions |
Why NestJS + Next.js? NestJS handles complex business logic, auth flows, and multi-client API needs with a structured, maintainable architecture — something Next.js API routes alone aren't optimized for at scale. This combination gives NovaLabs both a great developer experience and a solid production foundation.
Follow these steps to run NovaLabs locally for development or testing.
Make sure you have the following installed:
- Node.js ≥ 18.x
- npm or yarn
- PostgreSQL database (local or hosted)
- Rust toolchain (only needed for building
contracts/)
1. Clone the repository
git clone https://github.com/NovaCoreLabs1/NovaLabs.git
cd NovaLabs2. Install dependencies
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm installCopy the example env file and fill in your values:
cp .env.example .envKey variables to configure:
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
JWT_SECRET |
Secret key for JWT signing |
TOTP_ISSUER |
Issuer name for 2FA (e.g. NovaLabs) |
SMTP_* |
SMTP credentials for transactional emails |
FRONTEND_URL |
Base URL of the frontend app |
Refer to .env.example for the full list of required variables.
Start the backend (development mode):
cd backend
npm run start:devStart the frontend (development mode):
cd frontend
npm run devOpen http://localhost:3000 in your browser.
The backend API runs on http://localhost:3001 by default.
NovaLabs/
├── backend/ # NestJS backend API
│ ├── src/
│ │ ├── auth/ # Authentication & 2FA modules
│ │ ├── users/ # User management
│ │ ├── bookings/ # Workspace booking logic
│ │ ├── invoices/ # Invoice generation
│ │ ├── email/ # Email templates & services
│ │ └── ...
├── frontend/ # Next.js client application
│ ├── app/ # App router pages & layouts
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utilities, SEO helpers, etc.
│ └── ...
├── contracts/ # Rust & Stellar smart contracts
├── .github/ # CI/CD workflows (GitHub Actions)
└── README.md
backend/— Controllers, services, modules, guards, and database entities (NestJS).frontend/— Pages, layouts, auth flows, dashboard UI, and API integrations (Next.js).contracts/— On-chain logic compiled to WASM using Rust and Stellar SDK.
Contributions are welcome! Whether it's a bug fix, new feature, documentation improvement, or test coverage — every bit helps.
How to contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes and commit:
git commit -m "feat: describe your change" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request against
main
Please follow the existing code style, naming conventions, and module architecture when contributing. See CONTRIBUTING.md if available.
- Mobile app (React Native)
- Advanced analytics dashboard
- Multi-hub / multi-location support
- Public API for third-party integrations
- Webhook support for payment providers
- Dark mode UI
- Offline biometric fallback support
This project is licensed under the MIT License. See the LICENSE file for details.
NovaLabs is built and maintained by a growing community of contributors.
A huge thank you to all 96+ contributors who have helped design, build, test, and ship this platform. Your work powers real workspaces and real people every day. 🙌
Built with ❤️ by the NovaLabs Team · novalabs.vercel.app