Liane is a free software using Meteor, MongoDB, React, Redis and the Facebook API.
This project is under development.
Table of Contents
- Getting Started
- Routes Definition
- Application Structure
- On startup
- Cron Jobs
- Internationalization
- Tests
Install Meteor full-stack framework.
curl https://install.meteor.com/ | sh
Clone this repository.
git clone https://github.com/lianetoolkit/liane-toolkit
Create a file at .deploy/local/
and name it settings.json
. You can find an example at .deploy/settings.example.json
Paste your client id and secret and on your Facebook App dashboard you must add the app domain and URL on the Dashboard settings and OAuth setup. Default is http://localhost:3000
.
If you are using strict mode (recommended) on your Facebook OAuth configuration, make sure to use the following path: http://localhost:3000/_oauth/facebook?close
Make sure your Redis server is running and run your project.
npm start
Once the app install all of its dependencies, it will be running at http://localhost:3000
. The first user created is automatically set with the admin role.
This project uses FlowRouter for routes definition. You can find and modify routes at /imports/startup/client/routes.js
This projects follows Meteor guide recommendations for application struture.
imports/
startup/
client/
routes/ # set up all routes in the app
index.js # import client startup through a single index entry point
server/
fixtures.js # fill the DB with example data on startup
index.js # import server startup through a single index entry point
api/
campaigns/ # a unit of domain logic
server/
campaignsHelpers.js
campaignsPublications.js # all campaigns-related publications
campaignsMethods.js # methods
campaigns.js # definition of the Campaigns collection
ui/
components/ # all reusable components in the application
containers/ # can be split by domain if there are many
layouts/ # wrapper components for behaviour and visuals
pages/ # entry points for rendering used by the router
client/
main.js # client entry point, imports all client code
server/
main.js
This project uses Job Collection as job manager. It allows to add schedule jobs for repeating tasks along the campaign.
This project uses react-intl for internationalization. You can find and edit translations at /locales
.
Translation files are automatically generated through npm run translations
. You can update the available strings by running this command and manually translating the desired lang file, located at /locales/[lang].json
. Do not manually insert new strings into the language files.