Namviek

Namviek

Sign In

Project structure

Explain what techstacks the app used and why.

Folder Structure

As mentioned earlier, the app uses Nx for monorepo setup. The folder structure is as follows:

namviek
├── apps
│   ├── backend
│   ├── frontend
├── docker
├── package.json
├── packages
│   ├── auth-client
│   ├── core
│   ├── database
│   ├── event-bus
│   ├── task-runner
│   └── ui-components
├── scripts

Directory Overview

Apps

The apps directory contains the main applications of our project:

ApplicationDescription
frontendNext.js web application
backendExpress.js server application

Docker

The docker directory contains containerization configurations:

  • Dockerfile for each service
  • Docker Compose configurations
  • Environment-specific docker settings
  • Container orchestration files

Scripts

The scripts directory contains utility scripts:

  • AWS Lightsail deployment scripts
  • Database backup and restore utilities (WIP)
  • Environment setup scripts (WIP)
  • CI/CD helper scripts (WIP)

Packages

The packages directory contains shared libraries and modules that can be used across different applications:

PackagePurpose
auth-clientAuthentication and authorization
coreCore business logic and utilities:
- Common interfaces
- Shared constants
- Helper functions
- Base configurations
- Common types
databasePrisma schema, migration and repository
event-busEvent handling system
task-runnerScheduled tasks
ui-componentsReusable UI component library

Getting Started

Setup Guide

Integration

Backend deployment

Development Guide

Frontend deployment

Community