- Paz: Scrum Facilitator
- Abby: User Experience
- Yassien: Dev Ops
- Patick: Quality Assurance
Find our page hosted here on heroku
Our objective was to create a service which would allow our users to log their check-in questions as well as see the ones posted by others. The main page would be a collection of all the check-in questions - from the logged-in user.
Our features were built with a minimal design and objective in mind: meet the acceptance criterias and basic user stories.
Our features were built with a minimal design and objective in mind: meet the acceptance criterias and basic user stories.
Make sure you have Git and Node (v18) installed.
- Clone this repo and
cd
into the directory - Run
npm install
to install all the dependencies - Run
npm run seed
to seed the local database - Run
npm run dev
to start the server - Run
npm run test
to carry out the tests
*note that Github sign-up won't work on localhost
- As a user, I want to: submit a check-in question to your site for anyone to see
- As a user, I want to: come back to your site later and see what I posted is still there
- As a user, I want to be able to sign-up and login using my Github account
- Express server
- Well-organised modular codebase
- SQLite database
- Hosted on Heroku
- Social login (OAuth)
- Validate user-submitted data on the server
- Handle errors and inform the user
- Styled appropriately
A journey of our project as well the planning process can be found in issue Update README #18
This project uses Sqlite3 through the use of the common library better-sqlite3
.
Our database uses three tables following this schema:
users
column | type | constraints |
---|---|---|
id | integer | primary key autoincrement |
username | text | unique |
hash | text | |
created_at | datetime | current timestamp |
questions
column | type | constraints |
---|---|---|
id | integer | primary key autoincrement |
user_id | text | references users(id) |
topic | text | not null |
question | text | not null |
created_at | datetime | current timestamp |
sessions
column | type | constraints |
---|---|---|
id | text | primary key |
user_id | text | references users(id) |
expires_at | datetime | not null |
created_at | datetime | default current timestamp |
Throughout our project we used pair-programming method to write the code and rosolve issues. We met in-person, as well as had online meetings to discuss and work together. We would gather for 5-10 minutes for a quick huddle to discuss the progress so far, and if we faced any issues.
- Discord
- VS Code Live Share extension
- Github Project Board
During our planning stage, we identified there were functions and components that would be reused in the project. As a result, we decided to include modularization and attempted to follow the DRY principle.
We discussed as a group what the main components would be as well as create some user stories.
During this stage, we created a flow chart of the website as well as a wireframe. Research was done before about the project spike chosen [OAuth apps] so we could a better overview of what would be required. Multiple issues were created at the beginning to assign them to our collaborators.
It was our belief that by planning the project in such a way, it would provide better workflow, understanding of the project requirements and improve performance.