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

finish project #21

Open
wants to merge 112 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
dcd2698
add boilerplate
christianflorez Jul 17, 2017
0412036
add test for creating users
christianflorez Jul 17, 2017
d7baa13
add post path to sessions
christianflorez Jul 17, 2017
88ad3eb
begin fleshing out sessions route
christianflorez Jul 17, 2017
b07b597
add jwt session creation
christianflorez Jul 17, 2017
63c9646
add user resource show route
christianflorez Jul 17, 2017
7bbb5c4
add jwt api authentication
christianflorez Jul 17, 2017
98ca22e
finish proper api authorization
christianflorez Jul 17, 2017
2072ceb
refactor tests
christianflorez Jul 17, 2017
e457f9a
add auth to singular user resource and refactor tests
christianflorez Jul 17, 2017
0c5b75f
add board model and create board test
christianflorez Jul 17, 2017
a42fe3d
code formatting
christianflorez Jul 17, 2017
c0d5399
implement board delete path
christianflorez Jul 17, 2017
a7cb458
implement boards users push and pop
christianflorez Jul 18, 2017
ad4f508
update push and pop paths for boards-users
christianflorez Jul 18, 2017
4be7883
add get user boards path
christianflorez Jul 18, 2017
e6b8b3a
add put route to board
christianflorez Jul 18, 2017
47dd723
add list model
christianflorez Jul 18, 2017
ea28129
refactor tests
christianflorez Jul 18, 2017
838f924
add list tests
christianflorez Jul 18, 2017
76f24e3
add list put and refactor api messages
christianflorez Jul 18, 2017
009e50b
add list delete
christianflorez Jul 18, 2017
e9a8267
add card model
christianflorez Jul 18, 2017
ae11d40
add create card test and route
christianflorez Jul 18, 2017
466b5ee
add card crud tests
christianflorez Jul 18, 2017
1c66204
add card put route
christianflorez Jul 18, 2017
24a220f
add card delete route
christianflorez Jul 18, 2017
b2b303d
add card users route and test
christianflorez Jul 18, 2017
dbca839
add board updating when card members change
christianflorez Jul 18, 2017
f4664f0
add user updating when card members change
christianflorez Jul 18, 2017
de84ea9
auto code formatting run
christianflorez Jul 18, 2017
f206453
add activity model and processing
christianflorez Jul 18, 2017
db67010
add tests for updating board after creating list
christianflorez Jul 18, 2017
c9a4092
add tests for updating list after creating card
christianflorez Jul 18, 2017
a792024
update resource deleting
christianflorez Jul 18, 2017
6982f24
update card deleting
christianflorez Jul 18, 2017
9acc080
code styling update
christianflorez Jul 18, 2017
8c1989e
add start script for server and client
christianflorez Jul 18, 2017
4514dbd
add get to board
christianflorez Jul 19, 2017
5b044e0
add auth checking test
christianflorez Jul 19, 2017
31598fb
add actions and reducers boilerplate
christianflorez Jul 19, 2017
beca907
add auth layer container boilerplate
christianflorez Jul 19, 2017
5b82897
add login component
christianflorez Jul 19, 2017
dbb7607
implement auth
christianflorez Jul 19, 2017
a09b436
add jwt decoding
christianflorez Jul 19, 2017
6425c58
add login error alert
christianflorez Jul 19, 2017
dca4883
persist user login
christianflorez Jul 19, 2017
691f213
add board fetching
christianflorez Jul 19, 2017
60b04a1
updating server seeding and board retrieval
christianflorez Jul 19, 2017
60845bd
begin adding coard for selecting specific board
christianflorez Jul 19, 2017
6a4d6cf
add specific board getting and changing
christianflorez Jul 19, 2017
cee3b61
flatten reducers
christianflorez Jul 19, 2017
733357d
add form label for board picker
christianflorez Jul 19, 2017
1e06a58
add editable field component
christianflorez Jul 19, 2017
438ad15
add board editing
christianflorez Jul 19, 2017
b00b645
improve editable field event handling
christianflorez Jul 19, 2017
8405563
add autofocus to editable field and improve styling
christianflorez Jul 19, 2017
62b3897
implement create new board
christianflorez Jul 19, 2017
19f44bc
create dispach for get all boards inside edit and create specific board
christianflorez Jul 19, 2017
f6f58d3
add board delete
christianflorez Jul 20, 2017
12b4dd9
format code with automatic styler
christianflorez Jul 20, 2017
911fe24
add get all lists associated with board method
christianflorez Jul 20, 2017
de68646
add get card route
christianflorez Jul 20, 2017
efe64c1
clean up api routes
christianflorez Jul 20, 2017
6c68930
add population queries to get card route
christianflorez Jul 20, 2017
7a8157e
improve css styling
christianflorez Jul 20, 2017
308c67c
remove server request from board post
christianflorez Jul 20, 2017
2781b82
remove network request from edit board
christianflorez Jul 20, 2017
ade10fe
fix api delete route
christianflorez Jul 20, 2017
969243b
add list seeds
christianflorez Jul 20, 2017
14fd2f4
add list actions and reducers
christianflorez Jul 20, 2017
d8263ad
add list dispatches to board changes
christianflorez Jul 20, 2017
c0eec93
add list display
christianflorez Jul 20, 2017
dd89a95
add list create to view
christianflorez Jul 20, 2017
3f7399b
add list deleting
christianflorez Jul 20, 2017
5c4bc90
add list updating and list container
christianflorez Jul 20, 2017
895420b
add confirmation dialog for deleting list
christianflorez Jul 20, 2017
dd62c68
add card seeding
christianflorez Jul 20, 2017
c94aa74
add card component and container
christianflorez Jul 20, 2017
d0ba579
add card updating
christianflorez Jul 20, 2017
5e44c0b
add card deleting
christianflorez Jul 20, 2017
1511ce6
add card title editing
christianflorez Jul 20, 2017
bc6d51e
Add card creation
christianflorez Jul 20, 2017
f0bee73
improve styles and code formatting
christianflorez Jul 20, 2017
7527d31
add list styles
christianflorez Jul 20, 2017
bee04b6
fix new board creation
christianflorez Jul 20, 2017
8cf0998
add card modal component
christianflorez Jul 21, 2017
d101205
add current card actions and reducers
christianflorez Jul 21, 2017
918bdd6
add member table to card modal
christianflorez Jul 21, 2017
4d4f011
add activity feed
christianflorez Jul 21, 2017
512757a
add date time to activities
christianflorez Jul 21, 2017
8939352
add editing to card modal title
christianflorez Jul 21, 2017
f327fda
add populating to card put routes
christianflorez Jul 21, 2017
6c95ec3
add all users actions and reducers
christianflorez Jul 21, 2017
40da145
create add member to current card action
christianflorez Jul 21, 2017
97f2d07
implement adding members to card
christianflorez Jul 21, 2017
41b6bfc
implement removing members from card
christianflorez Jul 21, 2017
395d652
implement showing members on board
christianflorez Jul 21, 2017
e90bff5
update current card actions for member changes
christianflorez Jul 21, 2017
d5d69ef
code formatter
christianflorez Jul 21, 2017
1af6b71
add mark card completed button
christianflorez Jul 21, 2017
5643224
apply auto code formatting
christianflorez Jul 21, 2017
2c14e8f
improve styling and layout
christianflorez Jul 21, 2017
7997899
add sortable hoc library
christianflorez Jul 22, 2017
dea4254
add drag handle css
christianflorez Jul 22, 2017
cbac910
add fontawesome css
christianflorez Jul 22, 2017
4e3ebde
add draggable active class
christianflorez Jul 22, 2017
b009639
add css loading animation
christianflorez Jul 22, 2017
b094dde
add production link
christianflorez Jul 22, 2017
98241c7
update readme
christianflorez Jul 24, 2017
c630077
update readme paragraph formatting
christianflorez Jul 24, 2017
acb98b1
add img to readme
christianflorez Jul 29, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.env
node_modules/
31 changes: 31 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${file}"
},
{
"name": "Jasmine-Node Debugging",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/server/node_modules/jasmine/bin/jasmine.js",
"request": "launch",
"type": "node",
"args": [
"${workspaceRoot}/server/spec/app_spec.js"
]
},
{
"request": "launch",
"type": "node",
"name": "Launch index.js",
"program": "${workspaceRoot}/server/index.js"
}
]
}
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"files.associations": {
"**/src/**/*.js": "javascriptreact"
}
}
43 changes: 41 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,41 @@
# assignment_djello
Project management with that great wobbly taste.
# Project Djello

[![Project Djello](http://i.imgur.com/KXHUCzg.png)](https://salty-dawn-77328.herokuapp.com/)


## Introduction
Project Djello is a reproduction of Trello using a fullstack JavaScript stack.

## Technologies Used
This project uses Express and MongoDB on the back-end, and React/Redux on the front-end. Authentication is done through JSON web-tokens, which are provided upon initial login to the client and are used to authenticate all API requests.

React-sortable-hoc was used to provide basic drag-and-drop functionality for the project.

Jasmine is used for the full-featured test suite on the back end, which can be run with `npm run test` or `yarn test` while inside the server directory.

## Getting Started
To set this project up in your local environment, first clone the repository, then install the dependencies inside the root, server, and client directories using either `npm install` or `yarn`. Then, set up the environmental variable `JWT_SECRET`, either in your shell or in a .env file in the project root directory. This will be used to hash the JSON Web Token.

Finally, run either `npm run seed` or `yarn seed` inside the server directory to populate your local database. Make sure to have MongoDB running in the background. To test that the server was populated correctly, either run the test suite, or use the REPL provided in the project by running `npm run c`/`yarn run c` or `npm run console`/`yarn run console`. You can use this to run manual queries like the following:

```javascript
User.find().then(lg);
```

To start the project, run `yarn start` in the root directory. If you do not have yarn installed and want to use a different runner, you will need to edit the `start-client.js` file and make the appropriate changes.

## Deployment Link
A deployed version of this project may be found [here.](https://salty-dawn-77328.herokuapp.com/)

You may log in using the following credentials:

Email: [email protected] -OR- [email protected]

Password: password

## Additional Notes
Whenever a new user is added to a card, they are automatically given full access and editing privileges to that entire board. You can test this by creating a board using [email protected], then adding [email protected]. If you then login with [email protected], you will see that they have access to the board as well.

All editable fields can be changed simply by clicking on them. Pressing enter or the submit button will save the changes and clicking away or cancel will dismiss the changes.

Bootswatch's Flatly theme was used to help style the entire project.
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*
Loading