A project management system created using:
- Node.js and Express for the backend using the Microservice Architecture.
- MS SQL server for the database.
- React.js for the frontend.
- Send Email Upon Successful User Registration
- Send System Usage Instructions Upon Successful Login
- Send a welcome SMS Upon Successful User Registration
- Bcrypt to hash password before storing it to the database and to decrypt it when signing in.
- Json web tokens(JWT) for authorization ie, generate a token when a user signs in so that they can perform private functionalities like updating their profile and also for viewing private routes.
- Users are assigned projects which also contain tasks.
- A user can work on a single Project
- A project has multiple tasks
- A tasks can belong to a single project
- Users can be assigned multiple projects
Create a MS SQL server database and give it your preferred name and add three tables
- Users
- Projects
- Tasks
- Handles all the user services.
- An example is the user authentication.
- Handles all the projects and tasks services.
- An example is project assigning.
- Handles all the background services cron jobs.
- An example is the email and sms cron jobs that run every second watching for new users.
Create a .env file in the root and add the following
DB_HOST= localhost
DB_USER= ms sql server username
DB_NAME= your database name
DB_PASSWORD= your sql server password
SECRET_KEY= your secret key
# install concurrently in the root directory
npm install
cd Serverside/Userservice
npm install
cd Serverside/Projects_Task_Service
npm install
cd Serverside/BackgroundService
npm install
cd ClientSide/user-system
npm install
# Run client (:3000) & servers (:8000, :9000, :7000)
npm start server.js