Giter Club home page Giter Club logo

swconstruction-events's Introduction

swconstruction-events

View this README in doc form here: https://docs.google.com/document/d/1hUOcEYu0ORwO3AS0v-t7LvTGwnLvvZce2tmxTg7gHqE/

(1-2) Compiling, Running

In order to compile the project,

  1. clone our git repository at https://github.com/ecrowdus/swconstruction-events.git,
git clone https://github.com/ecrowdus/swconstruction-events.git
cd ./swconstruction-events
  1. cd into the 'hot' directory and then run npm install. This will download all of our dependencies
cd hot
npm install
  1. From here there are a number of different ways you can run the code and tests.

Preferred Method:

npm start

This will open Metro Bundler in your browser. From here you have a variety of options to view the app. If you have xcode or adb already installed, you can run the app on an iOS simulator or on your android phone over adb. But we recommend installing the “Expo” app on the Google Play or App Store, which will allow you to scan the QR code that shows up on the Metro Bundler web page and run the app on your phone. See the document we linked for more details.

(For step by step instructions, view the installation guide in the doc above: https://docs.google.com/document/d/1hUOcEYu0ORwO3AS0v-t7LvTGwnLvvZce2tmxTg7gHqE/

(3) Running unit tests:

  1. clone repo and access directory

cd hot

  1. Install dependencies

npm install

To Run:

npm test

(4) Acceptance Tests

See the doc for more details! This is just a summary.

a) Registration, Login, User Management Tests

i) Register a user by clicking the registration button.

Try some bad inputs and see that they will be rejected. You can also click the back arrow to take you back to the main login page. Once you put in information that is accepted you will be prompted that a user has created and be asked to login.

ii) Logging in

Enter your username and password. Successfully doing so will take you to the main feed.

iii) Editing your profile

From the main feed click "profile" and edit the information there. Note that changes persist after logging out.

iv) Logging out

Click the log out button to take you back to the login screen.

v) Follow/Unfollow a user

From the user public profile screen (accessed through the event view or search) you can follow/unfollow users, which will show up in the "Users Following" nav item in the drawer navigator.

b) Event Tests

i) View an event

Click one of the event cards on the main feed. This will take you to a page displaying its details.

ii) Change your status

Use the going/interested/declined buttons to change your status. Note that the changes persist when you change pages/log out.

iii) View events you are going to

Use the Going/Interested events screen in the drawer navigator to view events you have marked as going or interested.

iv) Change the hot level of an event

If you mark yourself as going and the event crosses a certain numeric threshold, the event card will change color to mark its increasing hotness. Look at our document for those specific thresholds.

v) Create an event

Click the create event screen in the drawer navigator to create an event. Try some bad inputs; they will not work. If you set yourself as "Admin" by entering your username you will be able to see this event in the Admin events screen in the drawer navigator. By entering existing or new tags your event will also be linked to those tags. View the event in the feed/search afterwards

c) Map Tests

Scroll around the map, and flip through the cards on the bottom to explore events. Click one of them to take you to the appropriate event screen.

d) Tag Tests

i) Tag View

Scrolling through the feed you see after log-in (and in any similar screens throughout the app including the Admin Events screen, the Going/Interested events screen, the search screen, the tag view, etc.) you will be able to click on tags which will take you to a specific feed showing all the events with a certain tag.

ii) Follow a tag

From here, you can click a button at the top of the page that says “follow.” It will display a pop-up saying that you followed the page. This will now show up more often in your feed, which is hard to test, admittedly, but definitely happens.

iii) View Tags you follow

After seeing this pop-up, you can use some combination of the back arrows/hamburger menu to get to the “tags following” screen. Here you will be able to see all the tags you are following. Clicking on one of them will take you back to the tag feed for it. Pressing the back arrow will take you to the main feed.

iv) Unfollow a tag

Also from the “tags following” screen you can click the unfollow button, which will remove the tag from your list. You will see it less again.

v) All the changes you make throughout these steps will persist after log out, which we encourage you to test as well!

e) Search

Search for an existing event, user, or tag, and click on results to follow/interact with those entities.

(5) Who did What, Changes, and More Specific Functionality Details

More or less, this was the breakdown of labor. See the design review doc for more details on the features, the changes we made to them, and labour breakdown.

https://docs.google.com/document/d/1qLQc4piI1Fhwj53qcmOKRyCQ5pcnpsbZ0ulvBZ8rWPU/edit#heading=h.to3hu8f8c1et

  • Ross/Elizabeth: Feed view, navigation, tags
  • Kenneth/Arthur: Database, Search
  • Katherine/Jiayi: User related functionality
  • Melanie/Lindsey: Event related functionality, map-view

swconstruction-events's People

Contributors

atseng1729 avatar crowdus avatar katherinehli avatar lindseyma avatar melaniechow avatar rrauber avatar

Watchers

 avatar  avatar  avatar

swconstruction-events's Issues

Can change username to have no number

When I edit username, I can make it so that the person's username has no number. I think this would be fine tho,but we have to remove the requirement that it needs a number

logout, register

I think it's better to have logout, currently I don't know how to terminate the app. 2. when registering a new account, A. if my input is wrong, it only shows "invalid entry", if it can show more concrete information, it would be great, like "email address is wrong" (it's same for profile editing). B. when successfully register, the user will be directed to the login page. If the user clicks "register" again, every information that the user used for the register is shown (including password), it leaks the user's information.

Sort events in feed view

  1. Even for a new user, there will be some events showing in the explore page, I am just curious how you will decide what to show for a new user. I just have a sense you display all events from your database, then what if you have thousands of events?

I think you need to somehow sort all the events Currently, newly-created events will always be the last one on your explore page, which may not be ideal. Maybe you can sort based on hot level or start date?.

Can access all pages when not logged in

So if i swipe to the left, I can still access the other pages, but they will all break because user is not defined bc i didnt go through login. Also, the registration form should have a button to be like "Already have an account?" or like "Log in" link so I can go to the login page

Not intuitive to create user

  1. had issue creating the user:

username: abc1
firstname: Melanie
lastname: Chow
email: [email protected]
pass: Abc1!

  1. didnt get good feedback on why my user was not being created properly

  2. requirements abt username and password should be outside

  3. i dont think username should require a number

  4. should probably figure out how to make the 'dots' with the password (passowrd concealer thingy)

Add interested + going feed

allow users to see the events that they are interested in and the events that haven't happened yet that they are going to

Tag - some alert response

Currently, the response choices "Going" "interested" "Declined", they appear in the same line, without any whitespace, it's better to split them. 6. When following a tag, after clicking "follow", it's better to prompt some information, like "you have followed which tag", currently nothing shows up after clicking "follow".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.