--- title: 'Project documentation template' disqus: hackmd --- ICAF Project - Conference Management Tool === * ### Team Members 1. Hariscumar [Team Leader] 2. Lumini 3. Thushan 4. Akash * ### Useful Links * backend repository `https://github.com/kaveenakash/ICAF_Backend` * frontend repository `https://github.com/kaveenakash/ICAF_Frontend` * npm package manager `https://www.npmjs.com/` * material ui `https://material-ui.com/` * material ui icons `https://material-ui.com/components/material-icons/` * Images Host link `https://code-base.imgbb.com/` * MongoDB host * admin name - ICAF_admin * admin password - ICAF_123 * cluster name - ICAF * Database name - ICAF * `mongodb+srv://ICAF_admin:ICAF_123@icaf.w04n0.mongodb.net/ICAF?retryWrites=true&w=majority` ## Technologies * React js * axios * Node js - v14.16.1 * nodemon * cors * mongoose * express js * dotenv * Mongo DB * Mongo Compass * Git Version control system * Github * jwt authentication * Material UI components * JEST - for testing ## System Details * Four roles 1. Admin 2. Editor 3. Reviewer 4. User #### Required Pages * Landing Page * Download Page * Workshops * Research Paper Precentations * Registration Page * Contact Us Page * Login Page #### Accessability * Anyone can view the conference details as a guest * Only users who register have access can submit the research papers, conduct workshops, or present their research-related activities * Editors can add the conference details and edit * Admin must approve the editor's content before it appears on the website #### functionalities - [ ] A landing page that shows all the related information including venue and date - [ ] Download page where the research paper templates, workshop Power Point templates, and other templates can be download. - [ ] Separate pages for each of the main events in the conference. (Research paper presentations, workshops, etc.) - [ ] A registration page where a user can be registered as a researcher, workshop presenter, or attendee - [ ] When the researcher registered to the system, the research paper should be uploaded alongside the contact information - [ ] When the workshop conductor is registered to the system, a proposal containing all the necessary details about the workshop should be uploaded alongside the contact information. - [ ] When the user is registered to the system all the necessary contact information should be uploaded #### Conditions - Implement * Reviewers should be able to see the research paper uploads and workshop detail uploads in separate pages. The uploads must be available to view. * Reviewers can approve or decline the research papers or workshop proposals. And notification should be sent to the relevant user * Attendees must pay upfront to register for the conference (you can come up with the amount) * Research paper presenters must pay if their papers got approved to present them at the conference * Workshop conductors don’t have to pay * Admin should be able to monitor all these activities in a dashboard (you can decide the format) ## Project Deliverables * A user guide should be provided. * A technical report describing your project should be provided. * Deploy the project to the Cloud before the final presentation. Your final demo should be run from the Cloud. ## Front-end React Application * **Base Sturucture Commands** create package json file `npm init -y` installed packages `npm install parcel@next --save-dev` `npm install react react-dom --save` `npm install @material-ui/core` `npm install @material-ui/styles` `npm install @material-ui/icons` `npm install axios` `npm install react-router-dom` `npm install @material-ui/lab` ## Back-end Node js Application * **Base Sturucture Commands** Create Package json file `npm init -y` installed packages `npm install mongoose express cors dotenv` devdependies `npm install --save-dev nodemon`