---
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`