The City of New York needs your help again!
Now that they have a new user management system, they want to promote their app further. The city is looking to a killer feature to their app that will attract new users.
They are requesting proposals for this new feature. It will need to be well thought-out, scalable, and secure. It will also need to be deployed on AWS.
This is the documentation for the original site. Use this as your jumping-off point: https://a856-cityrecord.nyc.gov/
API Docs:
API endpoints
- https://data.cityofnewyork.us/resource/buex-bi6w.json
- https://data.cityofnewyork.us/City-Government/City-Record-Online/dg92-zbpx/data
Your proposal must include (using this template):
- A description of the problem that the client has presented
- At least two personas of your users
- User flows
- A clear problem statement from each persona
- What business problem are you trying to solve?
- Why do I need technology to solve this problem? How might I solve it without technology?
- Clearly present the technical requirements of solving the business problem
- A solution for a new microservice
- How the microservice solution will solve the companies problems
- How to make the microservices scalable? Explain how to break out new microservices and when.
- The pros/cons of implementing a microservice solution.
- Include an external case study that demonstrates a similar problem/solution
Overall, your app must:
- Consist of a back-end and front-end application
- Have clean, maintainable code
- Contain
feature
,integration
, andunit tests
for both the front-end and back-end, using the appropriate libraries. - Be deployed to the cloud via Amazon Web Services
- Use Spring Boot to add a new service to your environment. You will need an API gateway and service discovery for your API.
- Create or modify a Database to
view
,save
,update
, anddelete
records.
- Write End-to-End
feature
tests that use the fulldocker-compose
environment - Use Selenide to write fluent feature tests
- Use Jasmine to write fluent Angular tests
- Build a SPA in Angular
- Communicate with your back-end API in order to manage User information
- Use components for reusable elements
- End to End UI tests
- Build high-fidelity prototypes with a tool such as Figma or Sketch.
- Move your Flyway migrations into their own Docker container
- Style it up!
- Deploy your app to the cloud
- Include the ability to access data with API keys using some form of authentication.
- A Proposal deck including:
- The problem that the client has presented
- User personas
- Problem statements
- Statement of the business problem
- Technical requirements and implementation plan
- Data to back up your solution
- Your code, hosted on Github with:
- At least 30 commits
- A
README.md
file telling me:- A link to the deployed app on Amazon Web Services
- What the application is
- How to start the app
- How to run the tests
- A set of User Stories, hosted on Trello (or an equivalent tool)
- You must actually USE your user stories, not simply write them at the beginning and leave them behind.
- Make sure your Trello board is PUBLIC before turning in.