Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
89a3754
Initial Proposal
Livingwell088 Sep 27, 2022
2372177
adding UI
rluu1 Oct 5, 2022
a5702a9
Initial Server and database connection
Livingwell088 Oct 5, 2022
a801cab
Database connected
Livingwell088 Oct 5, 2022
857ad27
updated UI with new buttons and forms
rluu1 Oct 5, 2022
f29e60d
styling of personalized page updated
rluu1 Oct 5, 2022
a8ebf32
authentication and personalize v1
rluu1 Oct 6, 2022
b79cff5
Merge pull request #1
Livingwell088 Oct 6, 2022
e05da6a
Merge pull request #2
Livingwell088 Oct 6, 2022
af350ac
Refactored server and frontend
Livingwell088 Oct 6, 2022
9aa2378
Merge pull request #3 from Livingwell088/refactor
Livingwell088 Oct 6, 2022
b58d04e
Initial Oauth on Github created, working on the github button
Livingwell088 Oct 6, 2022
260e554
login with github button
Livingwell088 Oct 6, 2022
e7520f6
fixed the error on line 51 in main.html
rluu1 Oct 6, 2022
c0ff246
Authenicationfajssajdsnajdsnajd, cant spell it apparently
Livingwell088 Oct 6, 2022
442bfbf
Merge branch 'main' into authenication
Livingwell088 Oct 6, 2022
9314b39
Basic form json complete
Livingwell088 Oct 6, 2022
dd58b5c
Write Profile to server
Livingwell088 Oct 7, 2022
434a3e3
Merge pull request #4 from Livingwell088/authenication
Livingwell088 Oct 8, 2022
ae73a72
fixed sliders and css
rluu1 Oct 8, 2022
5356a38
Where we left off
Livingwell088 Oct 8, 2022
9ea5a0b
starting the matching page
Livingwell088 Oct 9, 2022
fee589d
merged profile into here
Livingwell088 Oct 9, 2022
bbae048
Matching page
Livingwell088 Oct 10, 2022
a91612d
Refactored the log in page to only allow github log ins and refactore…
Livingwell088 Oct 10, 2022
ec23d06
Merge pull request #5
Livingwell088 Oct 10, 2022
2239963
Merged main into here
Livingwell088 Oct 10, 2022
9271c6f
Merged Main into here
Livingwell088 Oct 10, 2022
006b6af
updated profile.html
rluu1 Oct 10, 2022
2c4e9a4
updated profile.html
rluu1 Oct 10, 2022
2ac663f
users.txt added to /views
rluu1 Oct 11, 2022
6f38c05
updated 5 users, will fix photo later
rluu1 Oct 11, 2022
6978ecb
Putting in sample profiles
Livingwell088 Oct 11, 2022
00091f5
Filtering by conditions completed
Livingwell088 Oct 11, 2022
9861bbb
Test matching users
Livingwell088 Oct 11, 2022
f7a6557
Added some fake users
Livingwell088 Oct 11, 2022
5520603
fixed profile page, and created layout for info
rluu1 Oct 11, 2022
5df2622
Testing circle profile images
Livingwell088 Oct 11, 2022
f8abc57
Installed bootstrap
Livingwell088 Oct 12, 2022
bd6fddd
profile-card done
Othniel9 Oct 12, 2022
d4d118c
View profile page done
Livingwell088 Oct 12, 2022
f14ec77
Fixed error where the onload doesnt load the cards
Livingwell088 Oct 12, 2022
1bff8bd
Merge pull request #6
Livingwell088 Oct 12, 2022
c0399b0
Merge branch 'main' into profile
Livingwell088 Oct 12, 2022
c7d3c62
sideNav fixed
rluu1 Oct 12, 2022
b71f779
Merge pull request #7
Livingwell088 Oct 12, 2022
8cc8fa1
Merged Main here
Livingwell088 Oct 12, 2022
18be468
Editing the profile now implemented
Livingwell088 Oct 12, 2022
9d46e39
Changed Edit
Livingwell088 Oct 13, 2022
bef64c2
Edits and styling done
Othniel9 Oct 13, 2022
56a46dc
fixed viewProfile text size and list items
rluu1 Oct 13, 2022
cd918ae
Final
Livingwell088 Oct 13, 2022
a141b12
Final 2
Livingwell088 Oct 13, 2022
e07ed5c
Merge pull request #8 from Livingwell088/finalRefactor
Livingwell088 Oct 13, 2022
f283151
Readme added
Othniel9 Oct 13, 2022
161374c
updated
Othniel9 Oct 13, 2022
0d46d64
Update README.md
rluu1 Oct 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
5 changes: 5 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/final_project.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/jsLibraryMappings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 23 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,36 @@
# Final Project
*Due before the start of class, October 13th (final day of the term)*
# GitHub(by) Express

For your final project, you'll implement a web application that exhibits understanding of the course materials.
This project should provide an opportunity to both be creative and to pursue individual research and learning goals.
https://bondah-li-luu-cs4241.herokuapp.com/

## General description
Your project should consist of a complete Web application, exhibiting facets of the three main sections of the course material:
## The Goal

- Static web page content and design. You should have a project that is accessible, easily navigable, and features significant content.
- Dynamic behavior implemented with JavaScript (TypeScript is also allowed if your group wants to explore it).
- Server-side programming *using Node.js*. Typically this will take the form of some sort of persistent data (database), authentication, and possibly server-side computation.
- A video (less than five minutes) where each group member explains some aspect of the project. An easy way to produce this video is for you all the groups members to join a Zoom call that is recorded; each member can share their screen when they discuss the project or one member can "drive" the interface while other members narrate (this second option will probably work better.) The video should be posted on YouTube or some other accessible video hosting service. Make sure your video is less than five minutes, but long enough to successfully explain your project and show it in action. There is no minimum video length.
Our Team created a dating/mingling app for GitHub users to meet people, socialize, find work partners and even potential life partners. When a user launches the website they will be greeted with a login page that features a GitHub Auth0 login to actually make sure only GitHub authorized users are accessing the website. After login, the User is transferred to the main page where they can create their profile. Some essential profile elements include name, profile picture, projects,age, age interest when it comes to getting matched with people. After a successful profile creation, a User can access the matching page from the menu, which displays profiles that match the age gap chosen by the User. After getting your matches you can click on their profile to learn more about them, and their projects.

## Project ideation
Excellent projects typically serve someone/some group; for this assignment you need to define your users and stakeholders. I encourage you to identify projects that will have impact, either artistically, politically, or in terms of productivity.
## The Instructions

### Deliverables
The login page should be fairly straight forward. There is only one single button that allows you to log in with your github account. Any person with an existing Github account would be able to enter the website. After you have successfully authorized and logged in for the first time, you would be prompted to enter your information and profile. There are some key information on the page that would determine the user experience. The first is the status of your profile. If you select “mingle”, you would only be able to match with other users that also want to mingle, and the same goes for “date”. The second being the age preferences. You will only be matched with users whose age matches your preferences AND your age matches their preference. So if your matching page shows no users to match with, try increasing the age preferences and/or changing the status. We have included 20 fake users so at least one or two should show on your page.

#### Form Team (due 9/25)
Students are will work in teams of 3-5 students for the project; teams of two can be approved with the permission of the instructor. Working in teams should help enable you to build a good project in a limited amount of time. Use the `#project-logistics` channel in Discord to pitch ideas for final projects and/or find fellow team members as needed.
## Technologies

Teams must be in place by end of day on Sunday, September 25th. If you have not identified a team at this point, you will be assigned a team. You will be given some class time on Monday to work on your proposal, but please plan on reserving additional time outside of class as needed.
The technologies that we used included
- Design: HTML,CSS, JavaScript, and BootStrap
HTML, CSS, JavaScript and Bootstrap were used to design the different screens such as the profile creation, the profile view, the matching section and the actual login using the GitHub Authentication. With these major design elements and technologies, we were able to create a fluid website where it is pretty simple and does not take too much space on the screen in terms of text.
- Hosting Server: Heroku
Heroku was used to host the server for external usage beyond running localhost.
- Backend : NodeJS, MongoDB
NodeJS and MongoDB were used to store data that we had each user input when profile creation was successful. NodeJS allowed for us to run the server locally when needing to debug certain branches, whilst keeping our server smooth and clean/
- Authentication: GitHub

#### Proposal (due 9/27)
Provide an outline of your project direction and the names of associated team members.
The outline should have enough detail so that staff can determine if it meets the minimum expectations, or if it goes too far to be reasonable by the deadline. Please include a general description of a project, and list of key technologies/libraries you plan on using (e.g. React, Three.js, Svelte, TypeScript etc.). Two to four paragraps should provide enough level of detail. Name the file proposal.md and submit a pull request by Tuesday, September 27th at 11:59 PM (end of day). Only one pull request is required per team.
## Challenges

There are no other scheduled checkpoints for your project.
The first challenge that we faced creating this application is determining the project idea. We ultimately decided to work on this idea after some discussion and elimination. The next challenge faced was figuring out the form of login and authentication for this project. We ended up only allowing users to log in with GitHub since this will only be for GitHub users and we will fetch some requests from their respective GitHub profiles. We also faced some challenges with styling of the pages and the aesthetics. We used Bootstrap as the framework.

#### Turning in Your Project
Submit a second PR on the final project repo to turn in your app and code. Again, only one pull request per team.
## Group Members

Deploy your app, in the form of a webpage, to Glitch/Heroku/Digital Ocean or some other service; it is critical that the application functions correctly wherever you post it.
Othniel Bondah - Used features of BootStrap and CSS to style and create layouts.
Nicholas Li - Designing and implementing the server, mongo database, and client side javascript.
Ryan Luu - Designing and implementing the client, used features of BootStrap, JavaScript, HTML, CSS and some backend with MongoDB.

The README for your second pull request doesn’t need to be a formal report, but it should contain:
## Video

1. A brief description of what you created, and a link to the project itself (two paragraphs of text)
2. Any additional instructions that might be needed to fully use your project (login information etc.)
3. An outline of the technologies you used and how you used them.
4. What challenges you faced in completing the project.
5. What each group member was responsible for designing / developing.
6. A link to your project video.

Think of 1,3, and 4 in particular in a similar vein to the design / tech achievements for A1—A4… make a case for why what you did was challenging and why your implementation deserves a grade of 100%.

## FAQs

- **Can I use XYZ framework?** You can use any web-based frameworks or tools available, but for your server programming you need to use Node.js. Your client-side scripting language should be either JavaScript or TypeScript.
https://drive.google.com/drive/folders/135dUpbm4LM726oJdvykhER5qcCHtD4ZS?usp=sharing
12 changes: 12 additions & 0 deletions node_modules/.bin/mime

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions node_modules/.bin/mime.cmd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions node_modules/.bin/mime.ps1

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading