5 minutes to your first TypeScript app.

What is tsmean?

Getting off the ground with a new webapp isn't easy. Developing the core of an application can take weeks of time. There's a backend and a frontend to be built, each requiring a lot of work. You'll need a sign up and login, a landing page, resource management, a database and so on. Moreover, if you don't do things properly from the beginning, you'll move yourself into a corner where it's hard to get out of. Too many projects that we have seen don't start out modular or with proper architectural foundations, such that it gets harder and harder to maintain over time.

Tsmean provides a fully modular and scalable starter kit for your next web-application, fully written in TypeScript. We carefully choose the most proven and promising state-of-the-art technologies for scalable full stack TypeScript web applications. For us, this is a modification of the MEAN stack. Traditionally, the MEAN stack has been MongoDB + ExpressJS + AngularJS (the old one) + Node.JS, everything written in JavaScript. However, AngularJS has been deprecated and we're not really fans of MongoDB for WebApps. Also, backends purely written in Express + Node.JS tend to get messy. So the starter uses a modification of the MEAN stack with improved and adjusted technological choices, that make for a maintainable and scalable webapp, fully written in TypeScript. Here's the stack:

So it's still kind of MEAN: Instead of MongoDB we offer the choice to use MySQL, instead of bare-bones ExpressJS + Node.JS we use the NestJS framework (which is built on Express and Node) and instead of the old AngularJS of course we use the new Angular framework.

Note that tsmean is neither a framework nor a library. Tsmean is a starter kit / boilerplate / seed. The difference is that for a framework or library, you don't modify the core. For this starter kit however, you can modify the core. You just download it once and don't have to be compatible with any changes we make in the future. Of course, the starter-kit is going to get better over time, but hopefully it has already spurred your development and you don't need it anymore anyways.

Current project stage

The project is currently in a pre-alpha stage, which means that only a glimpse of it’s full potential is available today. You could head over to github and download the pre-alpha release now. However, we'd rather recommend you to do one of the following:

Choose alpha-testing if you're the kind of guy or gal that can't wait to get their fingers on something new and likes to actively contribute to a project with feedback. You'll benefit from tight guidance and support in return. Choose to get notified on release, if you just want to get informed once the next public release is out. Either way you'll make sure to profit from all of our work going into the starter kit in the coming months!

Installing the pre-alpha release

Note: The prealpha release doesn't use Nest and TypeORM yet.

There's a demo of the web app you're getting when downloading the code at fir-tsmean.firebaseapp.com.

If the prerequisits are met (git, node, ts-mean & angular-cli installed), you can simply run the following commands in your terminal:

git clone https://github.com/tsmean/tsmean your-project-name
cd your-project-name
npm install

This may take a while, since the starter kit is highly modular and consits of multiple modules, which each run against a small test app themselves. Since projects created with Angular Cli are quite heavy, setting up all of those test applications will take a while.

Once the installation process has finished, you can test if everything is working. To check if the backend is working as expected, it's best if you simply

cd backend
npm test

This will run the unit tests. For the frontend, you can fire up the main module using:

cd frontend/main
ng serve

Now you should be able to view the app at localhost:4200.

Next steps

You can start messing around with the code now. All the modules have their separate readme's and can basically be developed on their own. You can also check the code directly on Github or file issues there. You're also welcome to honor our efforts by gracing the project with a glorious Github star.


All feedback is welcome. Just drop us a mail at contact@tsmean.com! It's also a fabulous idea to stay connected, since we release regular updates for the starter. Subscribe below!