{"id":28436480,"url":"https://github.com/anu-gtb/express_airworks","last_synced_at":"2026-04-20T03:02:21.486Z","repository":{"id":296660752,"uuid":"994063847","full_name":"anu-gtb/Express_Airworks","owner":"anu-gtb","description":"This airline management system, built with Node.js, Express.js, and Sequelize on a MySQL database, efficiently handles flight, passenger, and booking operations. Express.js provides a clean API and Sequelize simplifies database interactions with MySQL, offering a scalable and robust solution.","archived":false,"fork":false,"pushed_at":"2025-06-11T05:53:10.000Z","size":93,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-27T19:41:37.872Z","etag":null,"topics":["backend","database-management","database-migrations","expressjs","flight-booking","gemini-api","genai","mysql","nodejs","routes","sequelize","sql","web-dev"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anu-gtb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-01T05:47:35.000Z","updated_at":"2025-06-11T05:56:01.000Z","dependencies_parsed_at":"2025-06-27T19:37:40.656Z","dependency_job_id":"86d5db22-e3ac-4a4e-86dd-989fbf7bbc24","html_url":"https://github.com/anu-gtb/Express_Airworks","commit_stats":null,"previous_names":["anu-gtb/express_airworks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anu-gtb/Express_Airworks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anu-gtb%2FExpress_Airworks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anu-gtb%2FExpress_Airworks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anu-gtb%2FExpress_Airworks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anu-gtb%2FExpress_Airworks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anu-gtb","download_url":"https://codeload.github.com/anu-gtb/Express_Airworks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anu-gtb%2FExpress_Airworks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32031070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","database-management","database-migrations","expressjs","flight-booking","gemini-api","genai","mysql","nodejs","routes","sequelize","sql","web-dev"],"created_at":"2025-06-05T22:09:16.298Z","updated_at":"2026-04-20T03:02:21.481Z","avatar_url":"https://github.com/anu-gtb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"`src` -\u003e Inside src folder, all the actual source code regarding the project will reside, this does not include any kind of tests.\n\nTake a look inside the `src` folder\n\n- `config` -\u003e Any configurations concern this folder regarding libraries or modules to be done. One example is the `dotenv` setup for us to use environment variables globally and cleanly; this is done in `server-config.js.` Other examples could be the configuration of some other logging library that helps produce useful logs, so its configuration should be done here also; this is done in `logging-config.json.`\n\n- `routes` -\u003e In the routes folder, routes and corresponding middlewares and controllers are registered.\n\n- `middlewares` -\u003e These middlewares are to intercept the incoming requests where validators and authenticators can be written.\n\n- `controllers` -\u003e These commprise business layer to execute business logic. In controllers, incoming requests and data are recieved and then pass it to the business layer. Once business layer returns an output, we structure API response in controllers and send the output.\n\n- `repositories` -\u003e This folder contains all the logic using which we interact the Database by writing queries, all the raw queries or ORM queries are here.\n\n- `services` -\u003e This contains the business logic and interacts with repositories for data from the database.\n\n- `utils` -\u003e contains helper functions, error classes, etc.\n\n## Project Setup\n\n- Download tis template from github and open it in a text editor.\n- Go inside the folder path and execute the following command:\n  ```\n    npm install\n\n  ```\n- In root directory, create a `.env` file and add following env variables\n  ```\n    GEMINI_API_KEY = \u003cYour Gemini API key\u003e\n\n  ```\n- Inside the `src/config` folder, create a file named as `config.json` and write the following code:\n  ```\n  {\n    \"development\": {\n      \"username\": \"root\",\n      \"password\": \"DBpassword\",\n      \"database\": \"database_development\",\n      \"host\": \"127.0.0.1\",\n      \"dialect\": \"mysql\"\n    },\n    \"test\": {\n      \"username\": \"root\",\n      \"password\": null,\n      \"database\": \"database_test\",\n      \"host\": \"127.0.0.1\",\n      \"dialect\": \"mysql\"\n    },\n    \"production\": {\n      \"username\": \"root\",\n      \"password\": null,\n      \"database\": \"database_production\",\n      \"host\": \"127.0.0.1\",\n      \"dialect\": \"mysql\"\n    }\n  }\n  \n  ```\n- go inside the `src` folder and execute following command:\n  ```\n    npx sequelize init\n  \n  ```\n- By executing the above command, migrations and seeders folders along with a config.json inside the config folder will be obtained.\n- If setting up development environment, then write the username of your database, password of database and in dialect mention whatever database you are using , e.g. : mysql, mongodb, etc.\n- If setting up test or production environment, make sure you also replace the host with hosted database url.\n\n- To run the server, execute:\n  ```\n    npm run dev\n \n  ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanu-gtb%2Fexpress_airworks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanu-gtb%2Fexpress_airworks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanu-gtb%2Fexpress_airworks/lists"}