This repository is the source code for the Pioneers in Computer Science website. The website is a collection of biographies of the most influential people in the field of Computer Science. This project was created for the CS5099 Dissertation module at the University of St Andrews as part of the MSc Software Engineering degree. It was created by Ajay Pradeep Mahadeven as part of his dissertation project.
To set up the Pioneers in Computer Science project on your local machine, follow these steps:
- Clone the repository to your local machine or download the zip file.
git clone https://github.com/yourusername/Pioneers-in-Computer-Science.git
-
Open it in your suitable IDE or terminal.
-
Run the following command to install node modules and dependencies:
npm i
- Start the server by running either of the following commands:
node app.js
OR
nodemon app.js
- Open your desired browser and navigate to
localhost:3000
to access the website.
The website is deployed on Heroku and can be accessed at https://pics-usa-d37de900c431.herokuapp.com.
To deploy this project on your preferred platform, follow these instructions:
-
Whichever platform you are using to deploy, remember to add the necessary API keys (MongoDB & OpenAI) to the respective environment variables.
-
Place the pioneers data (
pioneers.csv
) in local storage and make sure to updateprocess.env.MONGO_URL
in the config folder, specifically in thedb.js
file. -
You can choose to use MongoDB Atlas to store the data or any other database of your choice.
-
Install the project dependencies on your deployment environment by running:
npm i
- Start the server using the following command:
node app.js
The project is built using the following technologies:
- Node.js
- Express.js
- MongoDB
- HTML
- CSS
- Bootstrap
- JavaScript
- EJS
- Heroku
The Pioneers in Computer Science website offers the following features:
- Users can view the list of all the pioneers in the database.
- Users can view the birthplace of each pioneer.
- Users can chat with a chatbot (EVA), powered by chatgpt.
- Users can browse pioneers by name, country, and field.
- Users have a feedback mechanism to provide feedback on the website (Contact Page).
- Users can also see the contributions of pioneers via a vertical roadmap.
- Users have the ability to further learn about the pioneers by navigating to the references.
This project is licensed under the MIT License - see the LICENSE.md file for details.
This project would not have been possible without the help and support of the following people:
- Prof. Dharini Balasubramaniam (Supervisor)
- Prof. Ronald Morrison
- Prof. Edmund Robertson (MacTutor Co-Creator)
- Prof. John O'Connor (MacTutor Co-Creator)
- Manish Mishra (Friend)
- Niharika Kumari (Friend)
- Felix Brown (Friend)
- Kiran Baby (Friend)
- Shivang Sinha (Friend)
- Furkan Tekinay (Friend)
- Christobal (Friend)
- Gopichand Narra (Friend)
- Yusuf Farag (Friend)
- M K Mahadeven (Father)
- Nagheshwari Mahadeven (Mother)
- K M Samyuktha (Sister)
- Krishnasamy V.M (Grandfather) Rest In Peace