Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EricGlover's Solution' #26

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
97a73df
init commit
Sep 13, 2017
82791df
users being served to front-end
Sep 13, 2017
e241936
added routes, working on login
Sep 13, 2017
5126669
working on login
Sep 14, 2017
148ad4c
login success
Sep 14, 2017
c94eb81
improving login form
Sep 14, 2017
cac3706
login logout success
Sep 15, 2017
527b13c
seeding experimentations
Sep 15, 2017
e26ca2b
hooking up the front-end of the board flow
Sep 15, 2017
e68f154
fixed user endpoint
Sep 16, 2017
69212da
loggedOut routing issue, added show/index board route
Sep 16, 2017
90049dc
working on board show page
Sep 17, 2017
5edcdda
added default baords
Sep 17, 2017
4a43e43
added post request
Sep 17, 2017
321c34c
password hashing
Sep 17, 2017
f23e5b4
starting to flatten the store
Sep 18, 2017
6db3447
working on deleting boards
Sep 18, 2017
1e42d2a
working on the input modal
Sep 18, 2017
49603d2
adding the board page
Sep 18, 2017
2f5adb1
list route
Sep 18, 2017
cc37cb1
making a dropdown
Sep 19, 2017
d79aa77
working on adding cards
Sep 19, 2017
be68380
adding buttons
Sep 19, 2017
41f7c1b
deleting lists
Sep 19, 2017
69f15f0
adding lists, working on editing
Sep 19, 2017
7543418
styled loginForm, styled boardIndex
Sep 21, 2017
671011c
minor card changes
Sep 21, 2017
5a4be85
editing lists implemented
Sep 24, 2017
4512450
creating cards is a go!
Sep 27, 2017
9b0e064
specifying titles for cards works
Sep 27, 2017
81c409b
card show modal
Sep 27, 2017
8167db4
working on editing cards
Sep 29, 2017
fab238d
api endpoint rework
Sep 30, 2017
a3fa88b
board show layout quasi-improved
Sep 30, 2017
1558df4
attempted layout fix for navbar
Sep 30, 2017
4ee6f49
fixed board dropdown menu
Sep 30, 2017
445a0e3
fixed edit card bug
Oct 3, 2017
0ae9717
merging accidents
Oct 3, 2017
e8fa4ea
board show style adjustments
Oct 4, 2017
4cdc816
improved Editable
Oct 8, 2017
1468c6e
sessions enabled
Oct 8, 2017
1bd6bc6
session fix
Oct 8, 2017
b3c3144
create board fix
Oct 8, 2017
7963091
fixed the many hydration issues
Oct 8, 2017
2848429
slight refactor
Oct 8, 2017
85fe185
editing cards functionality complete
Oct 9, 2017
8ac3c54
readme.md update
Oct 17, 2017
0f76d4d
logout implemented
Oct 19, 2017
414f99e
logout fix
Oct 19, 2017
9b065ce
styling
Oct 19, 2017
a474b6a
getting sassy
Oct 20, 2017
9d36134
Update README.md
Oct 23, 2017
1236458
Update README.md
Oct 23, 2017
37119de
adding styling
Oct 27, 2017
5b9cb8f
Merge branch 'master' of https://github.com/EricGlover/project_djello
Oct 27, 2017
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
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
# assignment_djello
Project management with that great wobbly taste.
# Djello
A Trello styled task-management single page web app. It's a very CRUD-y react app. Djello was made using the Agile Process and the current board for it's development can be found at the link below.
##### Trello Project Board
https://trello.com/b/FxLPFqAM

#### Tech
MongoDB, Express, Node, React, Redux

#### Author
Eric Glover
8 changes: 8 additions & 0 deletions bugs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
1
Double click CRUD button bug

2
Add board button is a full-width div

3
Refreshing the state after an action is touch and go
21 changes: 21 additions & 0 deletions client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
/node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
Binary file not shown.
Binary file not shown.
Binary file not shown.
2,164 changes: 2,164 additions & 0 deletions client/README.md

Large diffs are not rendered by default.

90 changes: 90 additions & 0 deletions client/config/env.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
'use strict';

const fs = require('fs');
const path = require('path');
const paths = require('./paths');

// Make sure that including paths.js after env.js will read .env variables.
delete require.cache[require.resolve('./paths')];

const NODE_ENV = process.env.NODE_ENV;
if (!NODE_ENV) {
throw new Error(
'The NODE_ENV environment variable is required but was not specified.'
);
}

// https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use
var dotenvFiles = [
`${paths.dotenv}.${NODE_ENV}.local`,
`${paths.dotenv}.${NODE_ENV}`,
// Don't include `.env.local` for `test` environment
// since normally you expect tests to produce the same
// results for everyone
NODE_ENV !== 'test' && `${paths.dotenv}.local`,
paths.dotenv,
].filter(Boolean);

// Load environment variables from .env* files. Suppress warnings using silent
// if this file is missing. dotenv will never modify any environment variables
// that have already been set.
// https://github.com/motdotla/dotenv
dotenvFiles.forEach(dotenvFile => {
if (fs.existsSync(dotenvFile)) {
require('dotenv').config({
path: dotenvFile,
});
}
});

// We support resolving modules according to `NODE_PATH`.
// This lets you use absolute paths in imports inside large monorepos:
// https://github.com/facebookincubator/create-react-app/issues/253.
// It works similar to `NODE_PATH` in Node itself:
// https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders
// Note that unlike in Node, only *relative* paths from `NODE_PATH` are honored.
// Otherwise, we risk importing Node.js core modules into an app instead of Webpack shims.
// https://github.com/facebookincubator/create-react-app/issues/1023#issuecomment-265344421
// We also resolve them to make sure all tools using them work consistently.
const appDirectory = fs.realpathSync(process.cwd());
process.env.NODE_PATH = (process.env.NODE_PATH || '')
.split(path.delimiter)
.filter(folder => folder && !path.isAbsolute(folder))
.map(folder => path.resolve(appDirectory, folder))
.join(path.delimiter);

// Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be
// injected into the application via DefinePlugin in Webpack configuration.
const REACT_APP = /^REACT_APP_/i;

function getClientEnvironment(publicUrl) {
const raw = Object.keys(process.env)
.filter(key => REACT_APP.test(key))
.reduce(
(env, key) => {
env[key] = process.env[key];
return env;
},
{
// Useful for determining whether we’re running in production mode.
// Most importantly, it switches React into the correct mode.
NODE_ENV: process.env.NODE_ENV || 'development',
// Useful for resolving the correct path to static assets in `public`.
// For example, <img src={process.env.PUBLIC_URL + '/img/logo.png'} />.
// This should only be used as an escape hatch. Normally you would put
// images into the `src` and `import` them in code to get their paths.
PUBLIC_URL: publicUrl,
}
);
// Stringify all values so we can feed into Webpack DefinePlugin
const stringified = {
'process.env': Object.keys(raw).reduce((env, key) => {
env[key] = JSON.stringify(raw[key]);
return env;
}, {}),
};

return { raw, stringified };
}

module.exports = getClientEnvironment;
14 changes: 14 additions & 0 deletions client/config/jest/cssTransform.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
'use strict';

// This is a custom Jest transformer turning style imports into empty objects.
// http://facebook.github.io/jest/docs/tutorial-webpack.html

module.exports = {
process() {
return 'module.exports = {};';
},
getCacheKey() {
// The output is always the same.
return 'cssTransform';
},
};
12 changes: 12 additions & 0 deletions client/config/jest/fileTransform.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

const path = require('path');

// This is a custom Jest transformer turning file imports into filenames.
// http://facebook.github.io/jest/docs/tutorial-webpack.html

module.exports = {
process(src, filename) {
return `module.exports = ${JSON.stringify(path.basename(filename))};`;
},
};
55 changes: 55 additions & 0 deletions client/config/paths.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
'use strict';

const path = require('path');
const fs = require('fs');
const url = require('url');

// Make sure any symlinks in the project folder are resolved:
// https://github.com/facebookincubator/create-react-app/issues/637
const appDirectory = fs.realpathSync(process.cwd());
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);

const envPublicUrl = process.env.PUBLIC_URL;

function ensureSlash(path, needsSlash) {
const hasSlash = path.endsWith('/');
if (hasSlash && !needsSlash) {
return path.substr(path, path.length - 1);
} else if (!hasSlash && needsSlash) {
return `${path}/`;
} else {
return path;
}
}

const getPublicUrl = appPackageJson =>
envPublicUrl || require(appPackageJson).homepage;

// We use `PUBLIC_URL` environment variable or "homepage" field to infer
// "public path" at which the app is served.
// Webpack needs to know it to put the right <script> hrefs into HTML even in
// single-page apps that may serve index.html for nested URLs like /todos/42.
// We can't use a relative path in HTML because we don't want to load something
// like /todos/42/static/js/bundle.7289d.js. We have to know the root.
function getServedPath(appPackageJson) {
const publicUrl = getPublicUrl(appPackageJson);
const servedUrl =
envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');
return ensureSlash(servedUrl, true);
}

// config after eject: we're in ./config/
module.exports = {
dotenv: resolveApp('.env'),
appBuild: resolveApp('build'),
appPublic: resolveApp('public'),
appHtml: resolveApp('public/index.html'),
appIndexJs: resolveApp('src/index.js'),
appPackageJson: resolveApp('package.json'),
appSrc: resolveApp('src'),
yarnLockFile: resolveApp('yarn.lock'),
testsSetup: resolveApp('src/setupTests.js'),
appNodeModules: resolveApp('node_modules'),
publicUrl: getPublicUrl(resolveApp('package.json')),
servedPath: getServedPath(resolveApp('package.json')),
};
16 changes: 16 additions & 0 deletions client/config/polyfills.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use strict';

if (typeof Promise === 'undefined') {
// Rejection tracking prevents a common issue where React gets into an
// inconsistent state due to an error, but it gets swallowed by a Promise,
// and the user has no idea what causes React's erratic future behavior.
require('promise/lib/rejection-tracking').enable();
window.Promise = require('promise/lib/es6-extensions.js');
}

// fetch() polyfill for making API calls.
require('whatwg-fetch');

// Object.assign() is commonly used with React.
// It will use the native implementation if it's present and isn't buggy.
Object.assign = require('object-assign');
Loading