MapIgniter3 is the newest version of the previous MapIgniter versions
MapIgniter is a web mapping application that allows to publish Geographic Information from various sources (OGC web
services and files)
The web client was built with:
- CreateReactApp (CRA) - React application
- Apollo Client - Graphql HTTP client
- SemanticUI - Full featured and customizable UI framework
$ cd client
$ npm install # answer 1st option to all semantic-ui questions
$ npm run theme
# edit src/config.json
$ npm run start (for just react dev)
$ npm run build
The file structure was inpired by Redux:
- Components - Contains React components
- Containers - Contains React containers (only behaviour allowed, no DOM)
- Actions - Contains state changes actions
- Queries - Contains Graphql queries
The server is built using:
- AdonisJS framework - Used for data schema migrations, HTTP and Authentication (JSON Web Tokens)
- ApolloServer - Graphql server for most HTTP communication (except file upload and other non-API features)
$ cd server
$ cp .env.example .env # edit .env and configure PostgreSQL database connection
$ npm install
$ adonis key:generate
$ adonis migration:run
$ adonis seed
$ adonis serve -dev
- api - contains Graphql schema and resolvers
- app - contains HTTP controllers and Models for Authentication and other non-API features
- config - contains Adonis configuration files
- database - contains database migrations and seeds
- public - public HTTP folder
- resources - contains server-side resources ie. email template views
- start - contains server bootstrap files
Anyone is welcome to fork and submit issues and pull requests
MIT