Last Bus Tan
npm install -g less
Install and run
npm install npm install -g bower bower install node server.js
There is a Dockerfile in the root directory of the project. You can build an image, or just pull the image from Docker Hub !
In order to run the container, you can use the
container_name you want (i used
lastbustan for example).
# Pull from the Docker Hub... docker pull tekrop/lastbustan # ... Or build the image thanks to Dockerfile docker build . -t tekrop/lastbustan:latest # And run a container with the image docker run -d --name <container_name> --publish 8080:80 tekrop/lastbustan
The app will be accessible at
You can see a demonstration of the website here : https://tan.tekrop.fr/
I'm using some node modules in order to improve the development and the website loading time. Here is the list of the main modules :
- express, for quick and easy setup
- node-watch, for watching less and js code modification, and compile into a minified file each time I modify a file
- node-minify, for minification of css and js files previously compiled
- underscore, for several useful functions, allowing to write small code for big data manipulation
- q, a library for promises
- compression, for gzip/deflate server compression
- helmet, for security of the app by setting various HTTP headers
The project is divided in two parts :
- the back-end (server), with development configuration, basic web server, and API server. In fact, it was a choice to make the calls to the TAN API server-side, and then transform the data in a format I exploit in front-end. Here are the main reasons : lighten the js computing client-side, allow anyone to build an application (Android, iOS, Windows Phone, ...) based on the API of the server, ... I understand that there will be a lot of calls to the TAN API from the server, but it's only an issue when we have a lot of clients, and that's not the case here.
- the front-end (angular), with views, controllers, assets, and calls to the back-end API. As I have only three controllers for the three main pages, I wrote the controllers in a unique file.
Bugs and feedback
If you find any bug, problem, or if you have any suggestion for improvements, don't hesitate to make a ticket or send me a mail (firstname.lastname@example.org). As it's my first Angular app, I probably made some mistakes and/or forgot to use some features provided by Angular. If it's the case, don't hesitate to contact me as well :)