My goal was to create an Angular interface that would communicate with a separate Rails API.
In order to prepare for this project, I held three user focus groups to determine what users might want in an application like this. My notes from these sessions can be found here.
As a user, I want to...
- See questions without logging in.
- See answers without logging in.
- Register for an account.
- Login to my account and see my profile.
- Write questions.
- Write answers to questions.
As a user, I want to...
- Have a profile with my name and questions and answers I've posted.
- Search questions by language.
- Upvote questions I like.
- Upvote answers I like.
- Search questions by difficulty.
- Choose whether or not my answers to questions are public.
- Search questions by topic tags.
- Create my own tags for questions.
- View whiteboard questions with attachments.
- Answer whiteboard questions with attachments.
- Save questions I'm interested in to my account.
- Earn points for my contributions.
- This application is live here.
To run the app locally, first complete the setup steps for the API outlined in this repository. Then run the following commands in Terminal:
$ git clone
this repository$ cd IntervYou-UI
$ npm install
- Run
ng serve
for a dev server. - Navigate to
http://localhost:4200/
. The app will automatically reload if you change any of the source files. - You can login with the following test user: email: user@user.com, password: password.
- User authentication is not required to post questions.
- A user can't navigate to an individual question page by clicking on the question, although the pages can be accessed by entering the address /questions/:id in the browser.
- Refresh is required to see new questions and answered that are posted.
This project was generated with Angular CLI version 1.0.0.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive/pipe/service/class/module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the -prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve
.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.
I'm indebted to A. Vatsaev for his fabulous tutorial on implementing an Angular interface with a Rails API.
If you have any updates, questions, or suggestions please contact Margaret or make a contribution.
- Angular 2
This software is licensed under the MIT license.
Copyright (c) 2017 Margaret Berry