Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
a4c6a06
create proposal.md
SandySandySand Sep 27, 2022
9f0c63b
Finalized proposal.md
SandySandySand Sep 27, 2022
53e0ec3
added work list
SandySandySand Oct 4, 2022
e07d0e5
create nav bar and false slideshow
SandySandySand Oct 5, 2022
825502a
my prep for tommorows meeting
HavanaHail Oct 7, 2022
3058e5b
latest work
SandySandySand Oct 8, 2022
98fa7cf
created svelte file
SandySandySand Oct 8, 2022
b7bceac
Update Haileys Svelte Work 10-7.txt
HavanaHail Oct 8, 2022
b9798b4
added columns and cards to the opening page
SandySandySand Oct 8, 2022
8011564
modify homepage, create sub page, resource list
SandySandySand Oct 9, 2022
71a16cc
new goals for meeting tomorrow
SandySandySand Oct 9, 2022
72e01a7
Update Haileys Svelte Work 10-7.txt
HavanaHail Oct 9, 2022
687db30
edit resource doc
SandySandySand Oct 9, 2022
7ffe729
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 9, 2022
069ba70
Update resource-links.txt
HavanaHail Oct 9, 2022
2e56827
each page created
SandySandySand Oct 9, 2022
1369867
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 10, 2022
81d5afb
added content to (almost) all html pages
SandySandySand Oct 10, 2022
61c09bc
organized html files into folder to see if can compile as I test webback
HavanaHail Oct 12, 2022
50139da
in theory have set up files to work for webpackage and svelte
HavanaHail Oct 12, 2022
b205950
final card content; still need to content heroes
SandySandySand Oct 12, 2022
b1a355c
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 12, 2022
6c319df
edit work and index
SandySandySand Oct 12, 2022
dd91460
dummy html
HavanaHail Oct 12, 2022
c4b4c0b
svelte running stuff
HavanaHail Oct 12, 2022
8c192df
continueing to configure dummy svelte
HavanaHail Oct 12, 2022
f6f5015
trying to connect to webpack one more time from html
HavanaHail Oct 13, 2022
5359bed
edit work
SandySandySand Oct 13, 2022
3fb7969
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 13, 2022
cd9ab68
ive been stuck with this error for so long
HavanaHail Oct 13, 2022
f85d5c8
Merge branch 'main' of https://github.com/HavanaHail/final_project
HavanaHail Oct 13, 2022
59b6188
(hopefully) final content push
SandySandySand Oct 13, 2022
df73896
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 13, 2022
3118e9c
index page (hypothethically) made in svelte
SandySandySand Oct 13, 2022
611bf40
beggining to throw stuff
HavanaHail Oct 13, 2022
06c4de7
server with rollup
HavanaHail Oct 13, 2022
0d7cb13
home page (should be) fully made
SandySandySand Oct 13, 2022
4316e6f
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 13, 2022
c09aa4e
for hosting
HavanaHail Oct 13, 2022
f44676a
wanna make sure i capture any edits before i actually do anything
Oct 14, 2022
73828c7
Merge pull request #1 from HavanaHail/glitch
SandySandySand Oct 14, 2022
2afa3f4
converted resources
SandySandySand Oct 16, 2022
b583ceb
Merge branch 'main' of https://github.com/HavanaHail/final_project
SandySandySand Oct 16, 2022
333729e
made all the pages
SandySandySand Oct 16, 2022
cba1fb1
trying to fix the routing
Oct 17, 2022
847749f
🔗🥗 Updated with Glitch
Oct 17, 2022
eed44fa
Merge branch 'main' into glitch
SandySandySand Oct 17, 2022
5152295
Final Project Push
Oct 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Haileys Svelte Work 10-7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
- looking into svelte X

- send Chayanne documentation on svelte and front-end & - have a template on combining json and svelte

This video shows start to end svelte production in 12 mins
https://www.youtube.com/watch?v=dbnQozbN-qs&ab_channel=DanielPersson
This further breaks down sveltes front end use
https://enlear.academy/5-reasons-why-you-should-use-svelte-for-front-end-development-in-2021-c9e84db4f55c


Different Svelte File
https://svelte.dev/tutorial/declaring-props


svelte and multiple pages routing
https://codechips.me/svelte-routing-with-page-js-part-1/
Binary file added IMG_4585.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 16 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,22 @@
# Final Project
*Due before the start of class, October 13th (final day of the term)*
# How to Survive CS@WPI

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.
## Hailey Anderson & Chayanne Sandoval-Williams

## General description
Your project should consist of a complete Web application, exhibiting facets of the three main sections of the course material:
Project Video Link: [https://youtu.be/cqvfnM6Uhes](https://youtu.be/cqvfnM6Uhes)

- 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.
How To Survive CS@WPI is a website full of resources that might be helpul for Computer Science students at WPI. This website is full of information that have been gathered from both our time studying here, but also suggestions from other WPI students. It contains a number of resources and the ability for people to submit their own.
This website uses Svelte for implementation making the front-end and back-end connect in a way useful for both developers.
The front end uses Bulma to create the sleek look as well as the built in components for the content cards and form submission. The backend uses NPM express, rollup, svelte.
To best use this, access each page via direct link. The NavBar has been causing issues when we began hosting.

## 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.
Project Direct Links: <br />
[https://cs4241-havanahail-sandysandysand.glitch.me/](https://cs4241-havanahail-sandysandysand.glitch.me/) <br />
[https://cs4241-havanahail-sandysandysand.glitch.me/fullstack](https://cs4241-havanahail-sandysandysand.glitch.me/fullstack) <br />
[https://cs4241-havanahail-sandysandysand.glitch.me/theory](https://cs4241-havanahail-sandysandysand.glitch.me/theory) <br />
[https://cs4241-havanahail-sandysandysand.glitch.me/cybersecurity](https://cs4241-havanahail-sandysandysand.glitch.me/cybersecurity) <br />

### Deliverables
This project was hard in trying to create the front end layout. Lots of time was spent trying to layout information then swtich it from HTML to Svelte. There were some issues making Bulma work with Svelte to begin with and a small stylistic element had to be cut to ensure proper implementation. Glitch is not super Svelte friendly, so functionality that may work locally was removed to ensure the pages would load when hosted on Glitch.
A back end struggle that was faced, was trying to combine webpack with svelte. There was not much documentation on this insight and almost was functioning accidentally. When it came time to be more specific and concise with what parts of svelte was used and what not, webpack became unusable. Hence, we used rollup instead.
Chayanne created the front end elements using Bulma in HTML, before switching to Svelte, and supplied content for the website.
Hailey worked on the back-end. This composed of making sure all technologies worked together, downloading all needed files and templating svelte files and implementing the rollup bund. Aditionally, she helped supply website content.

#### 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.

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.

#### 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.

There are no other scheduled checkpoints for your project.

#### 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.

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.

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

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.
29 changes: 29 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
const express = require( 'express' ),
app = express()

const todos = [
{ name:'buy groceries', completed:false }
]

app.use( express.json() )
app.use( express.static( 'public' ) )
app.use( express.static( 'src' ) )


app.get( '/read', ( req, res ) => res.json( todos ) )

app.post( '/add', ( req,res ) => {
todos.push( req.body )
res.json( todos )
})

app.post( '/change', function( req,res ) {
const idx = todos.findIndex( v => v.name === req.body.name )
todos[ idx ].completed = req.body.completed

res.sendStatus( 200 )
})

app.listen( 8080, () => {
console.log("Server is listening on port: 8080")
});
Loading