307-sec-05-team-3's People
307-sec-05-team-3's Issues
Share event information with other users
User Story
- As a registered member of CampusNow, I want to post information about upcoming events, so other users can discover these events and spread awareness.
Business Goal
- Satisfaction
Use Case
- Name: Share Information
- Description: Make a post about about an upcoming event to spread awareness.
- Preconditions: User must be signed into an account
- Happy Path:
- User (signed in) clicks button to create a new event
- User fills in information on title, description, location, and time
- User confirms information and event is posted
- Post-conditions:
- User receives a confirmation message
- Other others (including anonymous) are able to view event details.
- Alternate paths:
- Non-registered member attempts to post information
- Send message telling use to register in order to post events
- User enters invalid event name (empty or invalid characters)
- Deny post request and send error message
- Non-registered member attempts to post information
Acceptance tests
- Verify that a member is able to create an account
- Ensure username is unique and does not contain any invalid characters, otherwise display an error message
- Verify that a member can sign into their account by providing the correct credentials
- If credentials are incorrect, an error message should be displayed
- Verify that the event is not posted and an error message is sent if an event title contains invalid characters
- Verify that the event posting is tied to the account and saved properly
Darryl Yeo: 1-1
validate user and password when logging in
Success metrics
How will you define and measure success?
controllers should return DTOs
add DTOs for event
add all DTOs for event crud operations
Goals
what are the 2 main features for your project? What will those features do for users?
Spike: Investigate front end framework
Considering: Vue.js, Svelte
Create storyboards
Allow users to register and log in
User Story
- As a user of Campus Now I would like to make a user profile so that I can keep track of events I share and interact with other users.
Business goal
- Adoption
Use Case
- Name: Register
- Description: An anonymous user creates an account and logs in as a now verified member
- Preconditions: None
- Happy Path:
- User selects button to create a new account
- User enters a unique & valid username, a valid password
- User receives message confirming the account has been creating
- User signs into account using correct username and password
- Post-Conditions:
- User is now signed into their account and can post/edit their own events
- Alternate Paths:
- If an invalid username, password is given on account creation, display an error message
- If the user does not enter a matching username and password, display an error message
Acceptance Tests
- Ensure that a given username can be verified as unique and does not contain invalid characters
- Ensure that a username & password is valid when logging in
- Ensure that an error message is sent when one of the above conditions are not met
build user login page
-
build page
-
api calls to login controller
Team Retrospectives
Week 3
What went well last week?
- We were able to come up with a plan to split up the work and research possible technologies.
What didn't go well last week?
- We didn't have too much time to discuss what we found.
What experiment (or change) we'll make next week to improve as a team?
- Start discussing our findings with each other so that we can move forward.
Spike: Investigate database
Considering: MySQL, Microsoft SQL Server
First Team Deliverable
Project Name: CampusNow
Students or organizations on campus can post times and locations of their club events. Other students can browse current and upcoming events on a map.
Brainstorming:
- PolyRatings but better
- Live map for club/campus events/classes/parking
- Rate campus food items
- Share study notes
Feedback on Sprint 0
Two things to correct:
- Your use cases must follow the template. Make sure you understand preconditions, post conditions, and alternative paths for your midterm. (10 points)
Did you create Spikes and close them out by the end of the week (by Sunday EOD)?
You still have open Spikes, which isn't a timeboxed investigation. (10 points)
Your feature titles looked good. No dev speak.
total score: 80
implement GetEventByID
-
sql query in event repo
-
appropriate business logic in repo
-
connect controller to repo
-
build corresponding DTOs
-
unit test api call
Constraints
What constraints does your team have?
Spike: Investigate data sources
Considering: schedules.calpoly.edu
Hunter Lane 1-1
I am not blocked
Weekly tasks:
- Ran a spike on back-end database, planning out what information would need to be stored and what structures I would use to keep track of information
Next week
- I hope to begin setting up the tables and relations on our group's mysql database that we will later use to keep track of user activity.
Browse nearby event locations on a map
User Story
- As a guest or registered user, I want to browse all events within a few miles of my current location on a virtual map, so that I can become aware of events in my area and find an event near me to attend.
Business Goal
- Satisfaction- This is the driving feature of the app.
Use Cases
- Name: Browse Events
- Description: Browse through a list of events that are taking place within a reasonable distance from your location and within a reasonable time frame
- Preconditions: the user must allow CampusNow to access the device's location
- Happy path:
- If user consents to share location, queries database for existing events within 3 miles of location and displays the results on the map.
- Post-Conditions:
- The user will be able to view markers locating any events that are taking place within 3 miles
- Alternate Paths
- If CampusNow does not have access to a devices location, it not show any event markers and instead display a message notifying the user of the problem.
Acceptance Tests
- Ensure that a user is only receiving markers for events within a 3 mile radius that have not yet occurred.
- Ensure that if a user has not given CampusNow their location, they are instead given an appropriate error message and no events are shown.
Competitive Analysis
Who are your competitors? What's your plan to compete against them?
login controller
-
create login controller
-
message handler
-
appropriate DTOs
-
test
implement PostNewEvent
-
sql query in event repo
-
appropriate business logic in repo
-
connect controller to repo
-
build corresponding DTOs
-
unit test api call
Jason Jen: 1-1
Week 3
- Am I blocked? No
- What I did: Setup SQL Server database and gave access.
- What I plan to do next week: Start working on asp.net backend.
add DTO transformers
transformers for various DTOs
implement DeleteEvent
-
sql query in event repo
-
appropriate business logic in repo
-
connect controller to repo
-
build corresponding DTOs
-
unit test api call
implement GetAllEvents
-
sql query in event repo
-
appropriate business logic in repo
-
connect controller to repo
-
build corresponding DTOs
-
unit test api call
sql update statement for events
parametrized sql update statement for events table
starter code for asp.net backend
Task
start visual studio code project for asp.net backend
Conditions of Satisfaction
Project builds and runs on IIS. Sample webpage displays. Controllers work.
sql insert statement for events
write parameterized sql insert statement to insert event record into events table and insert a sample event
complete starter code for events controller
-
correct methods
-
correct route attributes
Spike: Investigate Maps API
Considering:
- Apple Maps
- OpenStreetMap
- Google Maps
- Mapbox
- Leaflet.js
spike: investigate authentication system
- sql server authentication or azure ad authentication
implement UpdateEvent
-
sql query in event repo
-
appropriate business logic in repo
-
connect controller to repo
-
build corresponding DTOs
-
unit test api call
build user registration page
-
build page
-
api calls to registration controller
Users
who are your 3 types of users? What features will they use?
connect backend to database
Build front end landing page
Task
Build a landing page of some sort.
Conditions of Satisfaction
Rough draft of landing page, with map, navbar, title...
lock down events controller
#20
using token based authentication. accounts are stored in sql server db
https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/individual-accounts-in-web-api
https://dotnettutorials.net/lesson/token-based-authentication-web-api/
regression test
Clarifying Questions
List of clarifying questions (and your answers)
Spike: Investigate back end framework
Considering: .NET
Spike: Investigate ORM / REST Interface
Considering:
.NET Web API, vanilla JavaScript fetch() API
complete db schema design
Task
Design sql tables for users and events, with appropriate references and constraints.
Conditions of Satisfaction
Draw a diagram with appropriate table names, attributes, data types, constraints and translate this to sql queries.
Create wireframes
data models
login controller
user registration controller
acceptance test
unit test
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.