Skip to content

cskiwi/angular-nestjs-starter

Repository files navigation

Project README

Project Overview

This project is a Angular (With SSR) + Nestjs monorepo using Nx. It is a full-stack application that demonstrates how to structure and manage frontend and backend applications within a single Nx workspace.

TODO

Feel free to contribute to this project by creating a pull request.

  • Check on how to build for bun runtime
  • Pre rendering routes doesn't spin up the server, so the HTTP calls are not working (Made a build workaround npm script)

Other variants of this project

Directory Structure

The directory structure of this Nx monorepo is organized as follows:

Apps

  • apps/app: This is the main Angular application with SSR enabled.
  • apps/api: This directory is used for running the backend server during development.

Libs

  • libs/backend/root: This directory contains the entry point for the backend services. It includes necessary configurations and files to initialize and run the backend application.
  • libs/frontend/root: This directory contains the entry point for the frontend services. It includes necessary configurations and files to initialize and run the frontend application.

Getting Started

Prerequisites

Ensure you have the following installed on your machine:

  • Node.js (latest LTS version recommended)
  • Bun
  • Nx CLI

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd <repository-name>
  2. Install the dependencies:

    bun install

Running the Applications

To run the application:

 bun start

This will start the development server and the application will be available at http://localhost:4200.

Building the Applications

Build Frontend

To build the Angular application for production:

bun run build

This will run all the required build steps. I've included a routes.txt generator, so you can add the routes you want to pre-render in the routes.txt file. You can remove that library and build steps if you don't want to pre-render the routes.

To run the Application:

node dist/apps/app/server/server.mjs 

NOTE: I'm still looking into running this with bun.

Testing

Running Unit Tests

To run unit tests:

nx run-many -t test

Running End-to-End Tests

To run end-to-end tests:

nx e2e app-e2e

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published