Skip to content

Commit

Permalink
milestone v1.5
Browse files Browse the repository at this point in the history
  • Loading branch information
highb33kay committed Jan 28, 2024
1 parent f24429f commit fc3b9cc
Show file tree
Hide file tree
Showing 4 changed files with 246 additions and 94 deletions.
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Changelog

## Version 1

### Features

- Initial version of the Yara Yara: A TS Node Express Quick Start Script.
- Automatically creates folder structure for a TypeScript Node.js Express project.
- Sets up necessary files like controllers, routes, services, and utils.
- Initializes a basic package.json with dependencies and scripts.
- Integrates Swagger documentation setup.
- Handles Git initialization and initial commit.
- Provides feedback messages during script execution.

## Version 1.5

### Features

- Enhances user interactivity by prompting for project directory location, project name, and description.
- Adds option to create a new folder for the project or work in the current directory.
- Allows customization of project name and description.
- Validates user inputs and provides appropriate error handling.
- Improves organization and readability of code.
- Provides more detailed feedback messages and status updates during script execution.
- Adds support for handling existing project directories, including option to empty directory if not empty.
- Incorporates Git remote setup and push to remote repository if available.
- Introduces dynamic folder and file creation based on user inputs.

### Changes

- Refactors code to improve modularity and maintainability.
- Updates README generation to include project name and description.
- Adds more comprehensive error handling and validation checks.
- Implements cleaner file and folder creation logic.
- Streamlines Git initialization and remote setup process.
- Enhances user experience with clearer prompts and instructions.
- Improves overall script robustness and reliability.

## Roadmap

- Add support for other databases like MongoDB and PostgreSQL.
- Add support for ORMs like Sequelize, Prisma and TypeORM.
- Add support for other frameworks like Nest.js, Laravel, Python Flask, vanilla Node.js, vanilla PHP, etc.
- Add support for other languages like Python and Go.
- Add support for other package managers like Yarn.
- Add support for other version control systems like Mercurial.
- Add support for other documentation tools like JSDoc.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an Issue if you find any bugs or have any suggestions for improvements.
4 changes: 4 additions & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Author and Contributors

- Ibukun Alesinloye ([highb33kay](https://github.com/highb33kay/))
- Oluwaseyi Ogunjuyigbe ([seyiogunjuyigbe](https://github.com/seyiogunjuyigbe/))
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# YaraYara TS Node Express: A TypeScript Node Server Setup Script

## Overview

YaraYara TS Node Express simplifies the setup process for a TypeScript Node.js server, automating everything from folder structure creation to Swagger documentation and Git initialization.

This script automates the setup process for a TypeScript Node.js server along with its folder structure, dependencies, API routes, Swagger documentation, Git initialization, and server startup.
Expand All @@ -14,18 +15,19 @@ This script automates the setup process for a TypeScript Node.js server along wi

## Usage

1. Copy the `yara` Script file to your local machine
2. Make it executeable by running `chmod +x yara`
1. Copy the `yara` script file to your local machine.
2. Make it executable by running `chmod +x yara`.
3. Execute the script by running `./yara`.
4. Watch the Magic as it Unravels ❤️🪄
4. Follow the prompts to configure your project.
5. Watch the magic as it unfolds! ❤️🪄

## Features

- Sets up a TypeScript Node server with Express framework.
- Creates a folder structure for controllers, database, interfaces, middlewares, routes, services, and utils.
- Installs necessary dependencies including TypeScript, Express, ts-node-dev, Swagger, and Morgan.
- Configures Swagger for API documentation.
- Setup a Greetings Endpoint for test
- Setup a Greetings Endpoint for testing.
- Initializes Git and creates a `.gitignore` file.
- Starts the development server using `npm run start:dev`.

Expand Down Expand Up @@ -62,13 +64,16 @@ This script automates the setup process for a TypeScript Node.js server along wi
1. Edit the `.env` file to configure environment variables.
2. Run `npm run start:dev` to start the development server.
3. Visit `http://localhost:3000/api-docs` to view Swagger API documentation.
4. Visit `http://localhost:3000/api/v1/greetings` to test the Greetings Endpoint.
5. Edit the `README.md` file to document your project.
6. Edit the `package.json` file to add additional project metadata and dependencies.

:star: Leave a star, share your suggestions for improvement! :rocket:
:star: Leave a star, share your suggestions for improvement! :rocket:

## Author and Contributors

- Ibukun Alesinloye ([highb33kay](https://github.com/highb33kay/))
- Oluwaseyi Ogunjuyigbe ([seyiogunjuyigbe](https://github.com/seyiogunjuyigbe))
- Oluwaseyi Ogunjuyigbe ([seyiogunjuyigbe](https://github.com/seyiogunjuyigbe/))

## License

Expand Down
Loading

0 comments on commit fc3b9cc

Please sign in to comment.