diff --git a/.glitch-assets b/.glitch-assets new file mode 100644 index 00000000..218f2e43 --- /dev/null +++ b/.glitch-assets @@ -0,0 +1,4 @@ +{"name":"leaves.PNG","date":"2024-09-25T07:55:15.832Z","url":"https://cdn.glitch.global/6e3f5eb5-6008-4d26-acce-b3066d02114a/leaves.PNG","type":"image/png","size":1723640,"imageWidth":1083,"imageHeight":685,"thumbnail":"https://cdn.glitch.global/6e3f5eb5-6008-4d26-acce-b3066d02114a/thumbnails%2Fleaves.PNG","thumbnailWidth":330,"thumbnailHeight":209,"uuid":"CNSeb4ZTfj29oTJt"} +{"name":"f63dbd6e-ef4d-4d9a-a997-6eeaa3165edc.image.png","date":"2024-09-25T09:02:37.216Z","url":"https://cdn.glitch.global/6e3f5eb5-6008-4d26-acce-b3066d02114a/f63dbd6e-ef4d-4d9a-a997-6eeaa3165edc.image.png","type":"image/png","size":179936,"imageWidth":2235,"imageHeight":1014,"thumbnail":"https://cdn.glitch.global/6e3f5eb5-6008-4d26-acce-b3066d02114a/thumbnails%2Ff63dbd6e-ef4d-4d9a-a997-6eeaa3165edc.image.png","thumbnailWidth":330,"thumbnailHeight":150,"uuid":"aG0J1nuNxLIeEVVc"} +{"name":"02c7ae2a-2fbc-43b4-bf0d-6d573ab83a01.image.png","date":"2024-09-26T00:20:57.433Z","url":"https://cdn.glitch.global/6e3f5eb5-6008-4d26-acce-b3066d02114a/02c7ae2a-2fbc-43b4-bf0d-6d573ab83a01.image.png","type":"image/png","size":179936,"imageWidth":2235,"imageHeight":1014,"thumbnail":"https://cdn.glitch.global/6e3f5eb5-6008-4d26-acce-b3066d02114a/thumbnails%2F02c7ae2a-2fbc-43b4-bf0d-6d573ab83a01.image.png","thumbnailWidth":330,"thumbnailHeight":150,"uuid":"dAtzz4HLkC2A8rkD"} +{"uuid":"dAtzz4HLkC2A8rkD","deleted":true} diff --git a/README.md b/README.md index 3a0d67e9..54145c1c 100644 --- a/README.md +++ b/README.md @@ -1,114 +1,41 @@ -Assignment 3 - Persistence: Two-tier Web Application with Database, Express server, and CSS template -=== +## Task Manager -Due: September 19th, by 11:59 AM. +https://a3-kaylaa2003-kayla-afonseca.glitch.me/ -This assignnment continues where we left off, extending it to use the most popular Node.js server framework (express), -a database (mongodb), and a CSS application framework / template of your choice (Boostrap, Material Design, Semantic UI, Pure etc.) +This site allows a user to track tasks. To enter the site first click register and create an account. Once the account is created click login and login. Once logged in you will be able to add tasks. To delete task input your username then click delete. -Baseline Requirements ---- +- Allow users to add and remove tasks to their personal account. +- The biggest challenege I faced while creating this task manager was getting my login and registration page to work correctly. I started off with a site that tracks tasks, but realized I had no way of having usernames stored without a login and registration page. Creating the javascript for these pages took more time then I expected. +- I chose to implement OAuth authentication using the GitHub strategy. This method was selected for its simplicity and ease of implementation, allowing users to log in securely without the need for additional password management. +- I used Bootstrap as the CSS framework for this application. Bootstrap was chosen for its responsive design capabilities and pre-styled components, which helped speed up the development process. +- The five Express middleware packages +express: A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. +mongoose: An ODM (Object Data Modeling) library for MongoDB and Node.js that provides a schema-based solution to model application data. +bson: A library that provides BSON (Binary JSON) serialization and deserialization for working with MongoDB. +mongodb: The official MongoDB driver for Node.js, allowing for direct interaction with MongoDB databases. +dotenv: A zero-dependency module that loads environment variables from a .env file into process.env, helping to manage configuration settings securely. -Your application is required to implement the following functionalities: - -- a `Server`, created using Express (no alternatives will be accepted for this assignment) -- a `Results` functionality which shows all data associated with a logged in user (except passwords) -- a `Form/Entry` functionality which allows users to add, modify, and delete data items (must be all three!) associated with their user name / account. -- Persistent data storage in between server sessions using [mongodb](https://www.mongodb.com/cloud/atlas) (you *must* use mongodb for this assignment). You can use either the [official mongodb node.js library](https://www.npmjs.com/package/mongodb) or use the [Mongoose library](https://www.npmjs.com/package/mongoose), which enables you to define formal schemas for your database. Please be aware that the course staff cannot provide in-depth support for use of Mongoose. -- Use of a [CSS framework or template](https://github.com/troxler/awesome-css-frameworks). -This should do the bulk of your styling/CSS for you and be appropriate to your application. -For example, don't use [NES.css](https://nostalgic-css.github.io/NES.css/) (which is awesome!) unless you're creating a game or some type of retro 80s site. - -Your application is required to demonstrate the use of the following concepts: - -HTML: -- HTML input tags and form fields of various flavors (`