# tagus-cms

> A Simple CMS using only Javascript.

Latest version **0.0.9** (published 2019-07-09) · ISC license · 0 weekly downloads

## Install

```sh
npm install tagus-cms
pnpm add tagus-cms
yarn add tagus-cms
bun add tagus-cms
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; large bundle; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.9 |
| Published | 2019-07-09 |
| First published | 2018-05-02 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 21 |
| Unpacked size | 10.1 MB |
| Known vulnerabilities | 0 (+59 in 6 direct dependencies) |
| Install scripts | no |
| Author | snot-dev |
| Maintainers | snot-dev |

## Links

- npm: https://www.npmjs.com/package/tagus-cms
- npm.io page: https://npm.io/package/tagus-cms

## Dependencies (21)

- [rfr](https://npm.io/package/rfr.md) ^1.2.3
- [path](https://npm.io/package/path.md) ^0.12.7
- [async](https://npm.io/package/async.md) ^2.6.0
- [axios](https://npm.io/package/axios.md) ^0.19.0
- [morgan](https://npm.io/package/morgan.md) ^1.7.0
- [multer](https://npm.io/package/multer.md) ^1.3.0
- [string](https://npm.io/package/string.md) ^3.3.3
- [express](https://npm.io/package/express.md) ^4.13.4
- [bluebird](https://npm.io/package/bluebird.md) ^3.4.7
- [mongoose](https://npm.io/package/mongoose.md) ^4.4.19
- [passport](https://npm.io/package/passport.md) ^0.3.2
- [jwt-simple](https://npm.io/package/jwt-simple.md) ^0.5.1
- [nodemailer](https://npm.io/package/nodemailer.md) ^4.6.3
- [body-parser](https://npm.io/package/body-parser.md) ^1.15.0
- [passport-jwt](https://npm.io/package/passport-jwt.md) ^3.0.0
- [bcrypt-nodejs](https://npm.io/package/bcrypt-nodejs.md) 0.0.3
- [cookie-parser](https://npm.io/package/cookie-parser.md) ^1.4.3
- [schema-object](https://npm.io/package/schema-object.md) ^4.0.11
- [passport-local](https://npm.io/package/passport-local.md) ^1.0.0
- [passport-token](https://npm.io/package/passport-token.md) ^0.1.3
- [universal-cookie](https://npm.io/package/universal-cookie.md) ^2.1.2

## Recent versions

- 0.0.9 (latest) — 2019-07-09
- 0.0.8 — 2019-07-08
- 0.0.7 — 2019-07-02
- 0.0.6 — 2018-10-16
- 0.0.5 — 2018-10-16
- 0.0.4 — 2018-07-11
- 0.0.3 — 2018-06-25
- 0.0.2 — 2018-05-02
- 0.0.1 — 2018-05-02

## README

# Tagus CMS

This is a simple CMS using Javascript only! It was developed with Nodejs/Express, Mongo DB and React

## Getting Started

To install the npm package:
```
npm install --save tagus-cms

```

To access your Tagus CMS back office simply navigate to '/tagus-admin'


### Prerequisites

This was developed running node v6.11.1, so at least this is the needed version to run it.

### Installing

Start your standard express app, and extend it with tagus-cms!

```
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const morgan = require('morgan');
const hbs = require('hbs');
const app = express();
const tagusCMS = require('./tagus/tagus-cms');
const portNumber = process.env.PORT_NUMBER;

app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static('SiteName'));

tagusCMS.extend(app, {
  media: {
    path:'SiteName/img',
    dir: '/img',
    root: 'SiteName'
  },
  views: {
    path: [path.join(__dirname, 'SiteName/views')],
    engine: 'hbs'
  },
  public: 'SiteName',
  mongoConnectionString: process.env.MONGO_CONNECTION_STRING,
  domain: process.env.DOMAIN,
  authSecretKey: process.env.AUTHSECRETORKEY,
  email: {
    email: process.env.EMAIL_ADDRESS,
    pass: process.env.EMAIL_PASSWORD
  }
});


app.listen(portNumber, function () {  
  console.log("listening to " + portNumber);
});
```

The extend function accepts your Express instance and an object with the following mandatory settings.

```
{
    media: {
        path: "The path where your media files are",
        dir: "The actual directory of your media files,
        root: "The root of your static website files"
    },
    views: {
        path:"The path of your view template files",
        engine: "The view engine you are using"
    },
    public: "The public folder of your website",
    mongoConnectionString: "The connection string for your Mongo db",
    domain: "The domain of your website",
    authSecretKey: "Tagus CMS uses passport and tokens to manage some permissions. Create an auth key to encrypt your tokens",
    email: {
        email: "An email address. This will be necessary in order to send the new users their initial password, so that they can access the Tagus CMS back office",
        pass: "Your email account password"
    }
}
```

## Contributing

Feel free to open the necessary PR!

I'm using the 'https://github.com/snot-dev/project-tagus' repo to develop this app. Feel free to check it out!

## Authors

* **Gonçalo Assunção** - [snot-dev](https://github.com/snot-dev)

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details


## Acknowledgments

Thanks to the following guys, for the help and support:

* **Gonçalo Cardoso** - [gcardoso89](https://github.com/gcardoso89)
* **João Ramalho** - [ramalhovfc](https://github.com/ramalhovfc)
* **Leandro Mendes** - [Pr0fil3](https://github.com/Pr0fil3)
* **Tiago Fernandes** - [vftiago](https://github.com/vftiago)

The Tagus Logo was created by:

**Adolfo Ferreira** - http://www.adolfoferreira.com/

Special thanks to, for the many design inputs:

**Jesús Alfonso Sánchez** - http://www.jasnchz.com/

Enjoy!

---
_Source: https://npm.io/package/tagus-cms · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
