Project Management application is a system for managing projects and tasks for specific project based on various statuses. It enables users to add, complete and remove tasks within project. Also, login using Spring Security and JWT is provided. React part of application is also secured in a way that user who is not logged in can't gain access to certain pages.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Java Development Kit
- Java IDE e.g. Eclipse Java EE IDE for Web Developers
- MySQL Database Server
- MySQL Workbench
- Node.js
- Text editor e.g. Visual Studio Code
- Import 'projectTasks-backend' in Java IDE (File->Import->General->Existing Projects into Workspace)
- In case of import errors please check project configuration file (pom.xml)
- Database connection string can be updated in application.properties file (src\main\resources)
- Run the application as Spring Boot App
- Test if REST APIs are successfully exposed (using Postman, Mozilla RESTClient, or some other tool) Notes:
- List of available endpoints can be seen in controllers (src\main\java\com\scvetkovic\todoapp\web\controller)
- After restarting server, database will be again in initial state (in order to change this see 'spring.jpa.hibernate.ddl-auto' in application.properties)
- Open project 'projectTasks-frontend' in some text editor, preferably Visual Studio Code because of integrated terminal
- Install dependencies. Make sure you have nodejs installed in your system ($ npm install)
- Run the project ($ npm start)
- Application should be available at http://localhost:3000/
- Spring Boot - The web framework used for exposing APIs
- Maven - Dependency Management
- ReactJS - Used for building user interfaces
- Redux - State container