SKKU Scholarship Assistant is a project designed to make it easier for Sungkyunkwan University (SKKU) students to gather and check scholarship-related notices and announcements.
- Scholarship Notice Scraping: Automatically collects scholarship notices and announcements from SKKU using Scrapy.
- Data Storage: Stores collected data in MongoDB for efficient retrieval.
- Backend API: Provides a RESTful API built with Node.js so that users can easily query scholarship information.
- Scalability: Uses Docker for convenient deployment and management.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
| Node.js | Scrapy | MongoDB | LangChain |
Below are the steps to run both the API server and the MongoDB service in a Docker environment:
-
Create and Configure the
.envFile
In the project’s root directory, create a.envfile containing the following:MONGODB_URI=mongodb://<user>:<password>@localhost:27017/<database>
- Replace
<user>,<password>, and<database>with your actual credentials. - If you’re unsure about the details of the
MONGODB_URI, please contact the project contributor.
- Replace
-
Start Docker Containers
docker-compose up -d
- The
-doption runs the containers in the background. - Once the command completes, you can verify the containers are running by using:
docker-compose ps
- The
-
Access the Backend Container
docker exec -it backend bash -
Install Dependencies
Inside the backend container, run:npm install
-
Start the API Server
node app.js
- If the server starts correctly, you can access it in your web browser at http://localhost:8082.
For detailed instructions on how to scrape and parse data, please refer to the skku_notice/README.md.
Follow these steps to run the tests included in the project:
-
Set Up the Environment
Ensure that your.envfile is properly configured as described in the How to Run section. -
Install Dependencies
If you haven’t already installed the required dependencies, run:npm install
-
Run Tests
Use the following command to execute all test cases:npm testThis will run the tests located in the
testsdirectory. The test results will be displayed in the terminal. -
Check Individual Tests
To run specific test files, use:npm test <test-file-name>
Replace
<test-file-name>with the actual test file path, e.g.,tests/api.test.js. -
Verify Test Results
- Success: If all tests pass, you will see a summary indicating success.
- Failure: If any tests fail, review the error messages and debug the corresponding test cases or implementation.
2024 Fall SKKU SE CLASS 42 TEAM 10 Backend developer
Jihun Kim |
Donghyun Kim |
Seungjae Oh |



