+ {/* toggles edit entry -- will be EditEntryToggle component */}
{" "}
+ {/* toggles entry comments and a new comment box,
+ which appear below entry and slightly askew
+ -- will be CommentEntryToggle component*/}
From 182a8953fc4bb5301f0e162c79ac782388a9f1d5 Mon Sep 17 00:00:00 2001
From: Layla
Date: Wed, 12 Aug 2020 18:20:27 -0700
Subject: [PATCH 02/14] Updating README
---
README.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f50423d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,86 @@
+# Souvien
+## A Mongodb, Express, React, Node (MERN) based daily timecapsule app
+Submitted by Layla Rowen as part of the requirements for graduating with honors from the Nucamp Full Stack Development bootcamp in July 2020.
+_________________________
+# Project Overview
+_________________________
+*Ever wanted to know what you did a year ago? Two years ago?*
+
+*Who were you and who will you become?*
+
+Built in 2020, an eventful year for the whole world, this is a journal application intended to help you build self-reflective practice around who you've been, what you've done, and who you'd like to see yourself become. With a sentence or two each day, or even just a word, you can effectively save a piece of each day of the year, like mini time-capsules for your future self to learn from.
+
+*What do you want to remember about today?*
+_________________________
+
+This project started unofficially on December 6th, 2012, when I made my first journal entry in a physical copy of a sentence-a-day journal. Little did I know that years later, in 2017 I'd be so attached to the process that I would become detirmined to digitize it.
+
+Finally, in 2018 I made a version in Google Sheets, and I called it "Clever Name" because my partner suggested I "give it a clever name". I created a [template of that project here](https://docs.google.com/spreadsheets/d/1LD71BD6aUxX25YVJqcQh-Q-cku1yHdZt9FS68_XO_dw/edit?usp=sharing).
+
+In March 2020 I started courses in a fullstack bootcamp through [Nucamp](https://www.nucamp.co/). In June I started to build a [React Native](https://github.com/laylar/clevername-react-native) app but decided to change tactics and focus on a more universally accessible React app, which I mocked up with Pencil Project, [here](https://drive.google.com/file/d/1uzEYudYV_hYKOfp3XdAIQV_Ssyk13L3g/view?usp=sharing)!
+
+The backend of this project lives [here](https://github.com/laylar/souvien-server), and I put them [together in a Github Project here](https://github.com/users/laylar/projects/1)!
+
+I've since settled on the name *"Souvien"*, because as a linguaphile, I adore playing with words. It's not exactly a conjugation of "souvenir", which means "to remember" in French, but it's close.
+
+_________________________
+# Technologies Used
+_________________________
+
+
Core Technologies:
+
Mongodb
+
Express; Mongoose, CORS
+
React; Redux, react-router, reactstrap
+
NodeJS
+
+
Middleware:
+redux-logger
+
Saved my life. It's like console.log() for redux state.
+redux-thunk
+
This let me do all those wonderful .then bits!
+
+
Other Libraries
+react-text-transition
+
I was really excited to see my header come to life with this text animation.
+react-date-picker
+
A ready made date selection tool!
+moment.js
+
This let me format the date selected with react-date-picker however I wanted.
+reactstrap
+
reactstrap gave me cool things like Cards, Forms, and Buttons.
+
+
Applications Used:
+Chrome and Firefox
+
(with developer consoles and Firefox React Developer Tools!
+VS Code
+
Combined with git, this program is a force to be reckoned with!
+Compass
+
I cannot overstate how useful it was to have the database and all its documents at my fingertips in a graphical interface at all times.
+Postman
+
Like a cool browser that has all the server requests at its disposal, I also discovered that we can find out how many people are in space at any given moment (and who they are) by making a GET request to [this API by Open Notify](http://open-notify.org/Open-Notify-API/People-In-Space/)!
+
+
+_________________________
+# Next Steps
+_________________________
+
+*As of 7/28/2020*: There will always be more to do. I have a list of features I'd like to add, and of course, there are still a few bugs to work out. You can check out the Issues tab, but here are some of the features I'm hoping to work in next:
+ * User accounts with OAuth through Passport
+ * Then I could finally push it to production!
+ * Edit entries
+ * Upload bulk entries
+ * Add comments/reflections to entries
+ * Add entries via speech to text
+ * Listen to entries via text to speech (or hear previous recordings)
+ * Add a picture for each day
+ * Select from different themes of daily quotes
+ * Upload a custom selection of quotes
+ * Opt-in to a streak display
+ * ...?
+
+_________________________
+# Thanks to my support team
+_________________________
+I couldn't have made it this far without my instructors at Nucamp. Rucha Nimbalkar was my first, and launched me with Bootstrap. Caleb Braaten was my second with React, and made a reappearance with Node/Express/Mongo, having so much patience for all my questions and attempts at humor! DeVonta Johnson was my React Native instructor who pushed me through the trench of fatigue from the firehose that bootcamps tend to be, reinvigorated my passion for coding just in time to get started on this project again.
+
+In addition, I want to thank all the instructors who never had me as their students directly, but helped me anyway, as well as my peers who were working through their own bugs at the same time. I am so grateful for the community that Nucamp has offered, and I look forward to being that support person for future cohorts, too!
From e5174e459376a613e47fe214e5ed70c1e1012f2d Mon Sep 17 00:00:00 2001
From: Layla
Date: Thu, 13 Aug 2020 13:17:36 -0700
Subject: [PATCH 03/14] #3 Text entry form for each entry with starter text!
---
clevername-react/src/components/EditEntryToggle.js | 3 +--
clevername-react/src/components/EntryComponent.js | 2 ++
clevername-react/src/components/HomeComponent.js | 6 ------
3 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/clevername-react/src/components/EditEntryToggle.js b/clevername-react/src/components/EditEntryToggle.js
index 7e756d9..74a045f 100644
--- a/clevername-react/src/components/EditEntryToggle.js
+++ b/clevername-react/src/components/EditEntryToggle.js
@@ -18,7 +18,7 @@ class EditEntryToggle extends Component {
constructor(props) {
super(props);
this.state = {
- text: "",
+ text: this.props.entryText,
};
this.handleInputChange = this.handleInputChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
@@ -49,7 +49,6 @@ class EditEntryToggle extends Component {
name="text"
value={this.state.text}
// instead of placeholder it should be starting text
- placeholder={`What would you like to remember about ${this.props.dateLong}?`}
rows="4"
onChange={this.handleInputChange}
maxLength="1000"
diff --git a/clevername-react/src/components/EntryComponent.js b/clevername-react/src/components/EntryComponent.js
index 456e746..56a1149 100644
--- a/clevername-react/src/components/EntryComponent.js
+++ b/clevername-react/src/components/EntryComponent.js
@@ -3,6 +3,7 @@ import { withRouter } from "react-router-dom";
import { connect } from "react-redux";
import { fetchEntries } from "../redux/ActionCreators";
import { Card, CardTitle, CardText } from "reactstrap";
+import EditEntryToggle from "./EditEntryToggle";
import moment from "moment";
const mapDispatchToProps = {
@@ -41,6 +42,7 @@ function RenderEntries({ dayEntries }) {
-- will be CommentEntryToggle component*/}
+
diff --git a/clevername-react/src/components/HomeComponent.js b/clevername-react/src/components/HomeComponent.js
index e86a731..08fd773 100644
--- a/clevername-react/src/components/HomeComponent.js
+++ b/clevername-react/src/components/HomeComponent.js
@@ -54,12 +54,6 @@ class Home extends Component {
- {/* The new entries will be made by editing the prepopulated dummy entry for that day. */}
- {/*
-
-
-
-
*/}
{/**When not logged in this page will show a login page.
From 9de978378e672a445b4f8d9b79e44ae4f0156038 Mon Sep 17 00:00:00 2001
From: Layla
Date: Thu, 13 Aug 2020 13:23:45 -0700
Subject: [PATCH 04/14] Updating README
---
README.md | 82 ++++++++++++++++++++++++++++++++++---------------------
1 file changed, 51 insertions(+), 31 deletions(-)
diff --git a/README.md b/README.md
index f50423d..248b04f 100644
--- a/README.md
+++ b/README.md
@@ -1,31 +1,43 @@
# Souvien
+
## A Mongodb, Express, React, Node (MERN) based daily timecapsule app
-Submitted by Layla Rowen as part of the requirements for graduating with honors from the Nucamp Full Stack Development bootcamp in July 2020.
-_________________________
+
+Submitted by Layla Rowen as part of the requirements for graduating with honors from the Nucamp Full Stack Development bootcamp in July 2020. The app as it was submitted can be found here:
+
+[The Express API](https://github.com/laylar/souvien-server). And the [React app](https://github.com/laylar/clevername-react).
+
+---
+
# Project Overview
-_________________________
-*Ever wanted to know what you did a year ago? Two years ago?*
-*Who were you and who will you become?*
+---
+
+_Ever wanted to know what you did a year ago? Two years ago?_
+
+_Who were you and who will you become?_
Built in 2020, an eventful year for the whole world, this is a journal application intended to help you build self-reflective practice around who you've been, what you've done, and who you'd like to see yourself become. With a sentence or two each day, or even just a word, you can effectively save a piece of each day of the year, like mini time-capsules for your future self to learn from.
-*What do you want to remember about today?*
-_________________________
+_What do you want to remember about today?_
+
+---
This project started unofficially on December 6th, 2012, when I made my first journal entry in a physical copy of a sentence-a-day journal. Little did I know that years later, in 2017 I'd be so attached to the process that I would become detirmined to digitize it.
Finally, in 2018 I made a version in Google Sheets, and I called it "Clever Name" because my partner suggested I "give it a clever name". I created a [template of that project here](https://docs.google.com/spreadsheets/d/1LD71BD6aUxX25YVJqcQh-Q-cku1yHdZt9FS68_XO_dw/edit?usp=sharing).
-In March 2020 I started courses in a fullstack bootcamp through [Nucamp](https://www.nucamp.co/). In June I started to build a [React Native](https://github.com/laylar/clevername-react-native) app but decided to change tactics and focus on a more universally accessible React app, which I mocked up with Pencil Project, [here](https://drive.google.com/file/d/1uzEYudYV_hYKOfp3XdAIQV_Ssyk13L3g/view?usp=sharing)!
+In March 2020 I started courses in a fullstack bootcamp through [Nucamp](https://www.nucamp.co/). In June I started to build a [React Native](https://github.com/laylar/clevername-react-native) app but decided to change tactics and focus on a more universally accessible React app, which I mocked up with Pencil Project, [here](https://drive.google.com/file/d/1uzEYudYV_hYKOfp3XdAIQV_Ssyk13L3g/view?usp=sharing)!
-The backend of this project lives [here](https://github.com/laylar/souvien-server), and I put them [together in a Github Project here](https://github.com/users/laylar/projects/1)!
+This repo is a merging of these two projects, with commit history preserved: [The Express API](https://github.com/laylar/souvien-server). And the [React app](https://github.com/laylar/clevername-react).
-I've since settled on the name *"Souvien"*, because as a linguaphile, I adore playing with words. It's not exactly a conjugation of "souvenir", which means "to remember" in French, but it's close.
+I've since settled on the name _"Souvien"_, because as a linguaphile, I adore playing with words. It's not exactly a conjugation of "souvenir", which means "to remember" in French, but it's close.
+
+---
-_________________________
# Technologies Used
-_________________________
+
+---
+
Core Technologies:
Mongodb
@@ -60,27 +72,35 @@ Postman
Like a cool browser that has all the server requests at its disposal, I also discovered that we can find out how many people are in space at any given moment (and who they are) by making a GET request to [this API by Open Notify](http://open-notify.org/Open-Notify-API/People-In-Space/)!
-_________________________
+---
+
# Next Steps
-_________________________
-
-*As of 7/28/2020*: There will always be more to do. I have a list of features I'd like to add, and of course, there are still a few bugs to work out. You can check out the Issues tab, but here are some of the features I'm hoping to work in next:
- * User accounts with OAuth through Passport
- * Then I could finally push it to production!
- * Edit entries
- * Upload bulk entries
- * Add comments/reflections to entries
- * Add entries via speech to text
- * Listen to entries via text to speech (or hear previous recordings)
- * Add a picture for each day
- * Select from different themes of daily quotes
- * Upload a custom selection of quotes
- * Opt-in to a streak display
- * ...?
-
-_________________________
+
+---
+
+_As of 8/13/2020_: This project has merged into one, and I'm currently deciding how to let users edit entries.
+
+_As of 7/28/2020_: There will always be more to do. I have a list of features I'd like to add, and of course, there are still a few bugs to work out. You can check out the Issues tab, but here are some of the features I'm hoping to work on next:
+
+- User accounts with OAuth through Passport
+ - Then I could finally push it to production!
+- Edit entries
+ - Upload bulk entries
+- Add comments/reflections to entries
+- Add entries via speech to text
+- Listen to entries via text to speech (or hear previous recordings)
+- Add a picture for each day
+ - Select from different themes of daily quotes
+ - Upload a custom selection of quotes
+ - Opt-in to a streak display
+ - ...?
+
+---
+
# Thanks to my support team
-_________________________
+
+---
+
I couldn't have made it this far without my instructors at Nucamp. Rucha Nimbalkar was my first, and launched me with Bootstrap. Caleb Braaten was my second with React, and made a reappearance with Node/Express/Mongo, having so much patience for all my questions and attempts at humor! DeVonta Johnson was my React Native instructor who pushed me through the trench of fatigue from the firehose that bootcamps tend to be, reinvigorated my passion for coding just in time to get started on this project again.
In addition, I want to thank all the instructors who never had me as their students directly, but helped me anyway, as well as my peers who were working through their own bugs at the same time. I am so grateful for the community that Nucamp has offered, and I look forward to being that support person for future cohorts, too!
From 5e66cf9c40332392f43d5631ec5cd043ef21f9e0 Mon Sep 17 00:00:00 2001
From: Layla
Date: Thu, 10 Sep 2020 13:53:31 -0700
Subject: [PATCH 05/14] Updated README.md with netlify link
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 248b04f..e526d65 100644
--- a/README.md
+++ b/README.md
@@ -6,6 +6,8 @@ Submitted by Layla Rowen as part of the requirements for graduating with honors
[The Express API](https://github.com/laylar/souvien-server). And the [React app](https://github.com/laylar/clevername-react).
+An early demo site is hosted on Netlify here: [https://souvien.netlify.app/](https://souvien.netlify.app/home)
+
---
# Project Overview
From da2390a072ffef2d5d4084f00ec16630aa6eaedc Mon Sep 17 00:00:00 2001
From: laylar
Date: Sat, 12 Sep 2020 12:59:26 -0700
Subject: [PATCH 06/14] #11 updated contact page
---
clevername-react/package-lock.json | 39 +++++++++++++--
.../src/components/ContactComponent.js | 47 +++++++++----------
clevername-react/src/index.js | 1 -
3 files changed, 59 insertions(+), 28 deletions(-)
diff --git a/clevername-react/package-lock.json b/clevername-react/package-lock.json
index 2661353..5fa1744 100644
--- a/clevername-react/package-lock.json
+++ b/clevername-react/package-lock.json
@@ -2947,6 +2947,15 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
"integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ=="
},
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -5734,6 +5743,12 @@
"schema-utils": "^2.5.0"
}
},
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "optional": true
+ },
"filesize": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.0.1.tgz",
@@ -7345,7 +7360,11 @@
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "optional": true
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
}
}
},
@@ -8455,6 +8474,12 @@
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
},
+ "nan": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
+ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
+ "optional": true
+ },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -13215,7 +13240,11 @@
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "optional": true
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
},
"glob-parent": {
"version": "3.1.0",
@@ -13528,7 +13557,11 @@
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "optional": true
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
},
"get-caller-file": {
"version": "1.0.3",
diff --git a/clevername-react/src/components/ContactComponent.js b/clevername-react/src/components/ContactComponent.js
index ec24132..6ed5fe2 100644
--- a/clevername-react/src/components/ContactComponent.js
+++ b/clevername-react/src/components/ContactComponent.js
@@ -1,29 +1,28 @@
-import React, { Component } from 'react';
+import React, { Component } from "react";
class Contact extends Component {
- render() {
- return (
-
-
-
-
-
-
-
-
-
Contact
-
-
Have some ideas, comments, thoughts?
-
Feel free to reach out!
-
Lorem ipsum there will be a form here soon but I've got to take up a bunch of space here so the page looks a little fuller....
-
-
-
-
-
+ render() {
+ return (
+
+
+
+
+
+
+
+
+
Contact
+
+
+ Have some ideas, comments, thoughts?
+
+
Feel free to reach out to me at layla.rowen@gmail.com!