Challenge Overview
Challenge Requirements
Recently we have built an admin-app that we use to manage users and projects, we also had a legacy admin-tool that's used to manage copilots / admins / reviewers / etc.. The goal of this challenge and next challenges is to implement the features in admin-tool in the new admin-app so we only need to maintain one app.
For this challenge, the specific tasks are:
1. The legacy admin-tool was written in Java and it modifies the database directly to implement the admin features. You will need to understand how that app works first and then port the implementation from java to node.js. You will still need to access informix database to implement the features.
2. To test the code you can use our informix docker instance here: https://hub.docker.com/r/appiriodevops/informix/, tag 1b3d4ef is the latest.
3. The informix database connection info needs to be configurable, and the new code should be properly separated in new folder(s) so it's easy to maintain.
4. In this challenge, your task is to implement the features to manage copilots, admins and reviewers. This includes setting up the framework / common code to interact with informix using node.js.
5. You must use UI State router best practives - separate states for list / detail / new
Notes
- Please make sure that you are using best practices for Angular.js (for example: ui-router)
- Please check the admin-app-mock-api readme to see how you can get the admin-app running locally
- Please make sure you code is well documented
- Make sure the newly added pages have consistent look and feel with the admin-app (use similar style as the Submission page)
Technologies
- Node.js
- Angular.js
- HTML
- Elasticsearch
- Docker
- Informix
- Java
Final Submission Guidelines
Submission
- Updated admin-app code with all the requirements covered.
- A detailed deployment guide explaining how to run and test your submission with some meaningful data.