92 lines
No EOL
3.2 KiB
Markdown
92 lines
No EOL
3.2 KiB
Markdown
[![Build Status](https://travis-ci.org/metamaps/metamaps-ui.svg?branch=master)](https://travis-ci.org/metamaps/metamaps-ui)
|
|
|
|
Make sure you're running a good up to date LTS version of `node`
|
|
|
|
Install all the dependencies
|
|
`$ npm install`
|
|
|
|
Make sure you have `node-sass` installed
|
|
`$ npm install -g node-sass`
|
|
|
|
Make sure that you have a .env file setup. You can copy the .example-env
|
|
```
|
|
$ cp .example-env .env
|
|
```
|
|
Edit it however you need to.
|
|
|
|
Start up the nodejs server which serves the UI files, the socketio realtime server, and proxies requests to the API.
|
|
```
|
|
$ npm start
|
|
```
|
|
|
|
Build the css. If you're developing and writing css, make sure that it will rebuild the css when you make changes, by running the `npm sass:watch` process and leaving it running.
|
|
```
|
|
$ npm run sass # to build the css once
|
|
$ npm run sass:watch # to watch it for more changes
|
|
```
|
|
|
|
Run the metamaps api in another terminal, on whichever port you configured in your .env file.
|
|
For now, make sure you are running on the `add-user-route` branch of Metamaps, and that it's up to date with the latest on that branch
|
|
`$ rails s -p 3001`
|
|
|
|
open up http://localhost:3000 and start coding!
|
|
|
|
Checklist
|
|
- [x] Get the Import lightbox working, and not conflicting on screen
|
|
- [x] Handling CSRF
|
|
- [x] Fix images referenced in the JS
|
|
- [x] Figure out how authentication of requests from the frontend to the API works
|
|
- [x] Figure out how to combine the nodejs realtime server into server.js
|
|
- [x] Notifications: make sure loading states are working for popup and page
|
|
- [x] Request unreadNotificationCount
|
|
- [x] Request invite code
|
|
- [x] Request user object itself
|
|
- [x] Load the metacodes
|
|
- [x] move ImportDialog lightbox into main app
|
|
- [x] create topic form
|
|
- [x] Fork map lightbox / component
|
|
- [x] lightboxes
|
|
- [x] About lightbox
|
|
- [x] Notifications: Request unreadNotificationCount
|
|
- [x] notifications list
|
|
- [x] notification page
|
|
- [x] list metacodes
|
|
- [x] new metacode
|
|
- [x] edit metacode
|
|
- [x] list metacode_sets
|
|
- [x] new metacode set
|
|
- [x] edit metacode set
|
|
|
|
- [ ] fix other places where metacode sets are used
|
|
- [ ] make newtopic form load metacodes from users selected ones
|
|
- [ ] create synapse form
|
|
- [ ] replace old loader with react loader
|
|
- [ ] ensure exports of maps work
|
|
- [ ] Notifications: make sure notifications either look nice, or redirect
|
|
- [ ] Notifications: pagination
|
|
- [ ] Notifications: CSS fixes related to 'controller-x' in body classes
|
|
- [ ] Make sure loading state for explore maps pages work
|
|
- [ ] Get actioncable working
|
|
- [ ] Switch Metacodes lightbox / component
|
|
- [ ] break up index.html into parts
|
|
- [ ] Handle CSS metacode colors
|
|
- [ ] Fix Request An Invite page
|
|
- [ ] Make 'new map' action work
|
|
- [ ] Modify the remaining rails templates into JSX templates
|
|
- [ ] authorized apps
|
|
- [ ] registered apps
|
|
- [ ] authorize
|
|
- [ ] user passwords
|
|
- [ ] Modify the RubyOnRails app to only serve JSON responses, no HTML pages anymore
|
|
- [ ] Modify the frontend to request that data from the API which is necessary at first to load the page
|
|
- [x] Load the metacode sets
|
|
|
|
To run the server as a daemon that will be re-run if it crashes, you can
|
|
use the forever node package.
|
|
```
|
|
$ npm install -g forever
|
|
$ forever start server.js
|
|
```
|
|
|
|
To build the javascript file
|
|
`$ npm run build` |