To run server open '/server' folder in terminal and run 'npm install' when all dependecies will be installed run the server with 'npm run server' command
To run client open '/client' folder in the terminal and run 'npm install' when all dependecies will be installed run the front end with 'npm start' command
Data base connect string with all configs is located in 'defaul.json' so you dont need to create env variables.
Code Challenge
Requirements:
- One user may have several projects
- One user can access his projects only
- Each project may include multiple tasks
- Each task must have a description, creation date and finish date
- The user needs to have a simple option to mark the tasks as completed when accessing the task list
- Each task should have its termination date visible as a tooltip, if available, and some visual way of identifying its status
- A task that was defined as finished should not be edited nor removed
- When a task or Project is added our deleted, the page should not fully refresh, so that users have a good experience
Non funcional requirements
- The application should be written in Javascript.
- The application backend should be written in Node.js or GoLang.
- The authentication and registration layers should be coded and not based on pre-existing modules (such as Passport).
- For the frontend, javascript frameworks can be used (Angular, React, Polymer or others).
- Components should be used to promote increased code reusage (react or angular components, webcomponents or other alternatives)
Extras:
- Build tools (e.g. grunt or gulp)
- Unit tests