Tsmean

screenshot of Tsmean
angular
express

Typescript-mysql-express-angular-node seed for your next web-app!

Overview

The TSMEAN starter kit is a TypeScript-based web application starter kit. It is no longer actively developed, but can still serve as a source of inspiration for project development. The kit combines the technologies of MySQL, ExpressJS, Angular 6, and NodeJs, making it a comprehensive solution for building web apps with TypeScript. The use of TypeScript on both the client and server side allows for increased efficiency and consistency.

Features

  • Written completely in TypeScript
  • Utilizes MySQL, ExpressJS, Angular 6, and NodeJs
  • Enables development of web apps with TypeScript on both client and server side
  • Offers REST-API server and Angular app modules
  • Can spin up a docker container with a MySQL instance for easy database setup
  • Provides independent development of different modules

Prerequisites

  • Node (v6, v8, or v10) and npm
  • Git
  • Angular CLI (https://github.com/angular/angular-cli)
  • Docker (optional)

Install

  1. Clone the project
  2. Set up the MySQL database:
    • Option 1: Use Docker to spin up a MySQL instance with matching settings to the backend.
      • Run the specified command to set up the database container.
      • For more information on the "MySQL in docker" option, refer to the provided link.
    • Option 2: Set up MySQL directly on your system and create the databases manually according to the settings in backend/properties/development.properties and backend/properties/test.properties.
      • You can modify the settings to match your needs (e.g. different user, password, database name).

Installing all node modules

  • The kit uses lerna to install multiple packages in the backend, frontend, and shared folders. However, you don't need to worry about this process too much for now.

Backend

  1. Navigate to the backend folder.
  2. Run npm start to spin up the REST-API server.
  3. Access the server at http://localhost:4242.

Running tests

  • Run npm test to execute the tests.

Frontend

  1. Navigate to the frontend folder.
  2. Run npm start to start the Angular app.
  3. Access the app at http://localhost:4200.

Developing individual modules

  • To develop specific modules independently, navigate to the desired module's location (e.g. src/app/user) and run ng serve.
  • This will launch a minimal app that only displays the selected module (without login, etc).

Testing modules

  • Run ng test to test all modules.

Summary

The TSMEAN starter kit provides a TypeScript-based solution for building web apps. Although it is no longer actively developed, it offers a combination of technologies, including MySQL, ExpressJS, Angular 6, and NodeJs. The use of TypeScript on both the client and server side allows for increased efficiency and consistency. The kit includes instructions for installation and provides independent development and testing options for different modules.

angular
Angular

Angular is a TypeScript-based open-source framework by Google for building dynamic single-page applications and cross-platform mobile apps with MVC architecture and a rich set of features.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.