This is the developer guide for the Conference Management Tool for "International Conference on Application Frameworks" also known as ICAF.
To get a more technical idea of the system use our technical report. Checkout our user guide if you're new here.
The backend of the conference management tool is a RESTful API running JSON based web services, and implemented with Node.js and Express.js
First, the project is needed to be cloned to your local space.
git clone https://github.com/rukshan99/api-ICAF
Since the API uses MongoDB atlas as the database, a cluster should be created and the connection string sould be added to a .env
file in the project root.
Install the required dependencies needed in both development and production as defined in the package.json
.
Run npm install
in your CLI.
You can test the API endpoints using an API tester like Postman. To do that, run npm start
in your CLI to run the server in development mode.
Server will restart automatically if you do any edits.
API testing is handled using Jest framework and MongoDB-memory-saver package. Jest provides methods to create, organize and run the tests. The mongodb-memory server creates a cluster which only exists in the device’s main memory and is not physically stored to disk. Therefore, once the application terminates, the database instance will no longer exist.
To run the test cases use npm test
in your terminal.
The frontend of the system is based on React related technologies and it consumes JSON based service endpoints of the REST API.
First, the project is needed to be cloned to your local space.
git clone https://github.com/rukshan99/app-ICAF
Install the required dependencies needed in both development and production as defined in the package.json
.
Run npm install
in your CLI.
To run the app in the development mode use npm start
in your CLI.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits. You will also see any lint errors in the console.
React component testing and snapshot testing was done using Jest and Enzyme.
Run npm test
in the CLI to launch the test runner in the interactive watch mode.
Run npm run build
in your CLI to build the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
- Before starting development, create a branch.
git checkout -b <FTR|ENH|BUG-name>
- Stage and commit changes to the local repo.
git add .
git commit -m "<commit message>"
- Push to the new remote branch.
git push -u origin <FTR|ENH|BUG-name>
(for first push to origin)
- Create the pull request
- Add a proper descriptive title.
- Use description box to explain the changes proposed in the pull request and affecting parts of the system.