
Quick introductory lesson about:
- Course description
- Course agenda
- Instructor "About me"
If you never worked with ChatGPT this is a short intro into it.
Here we explore few notes about usage and appliance of ChatGPT.
We also explore differences between 3.5 and 4 version.
ChatGPT 5 is also on the way!
Lesson intro to the Github Setup.
- How to setup?
- Which IDE to use?
- Setup VS Code
Short lesson about how to use free version of ChatGPT to ideate
Lesson about main 4 features we will develop in this course using Github Co-Pilot for our equity management app
- Capitalisation
- Initial shares release
- Shares split
- Shares purchase
Start to setup the Backend project with Node.js, Express and Mongoose
Prompts:
- please add mongoose express js typescript plus add all relevant @types with it
Install the main dependencies and explore Co-Pilot usage for Dockerising our app.
Check the app architecture to understand better what to build
Prompts:
-
Create first mongoose model for Companies.
Prompts:
- create an async function called connectDB via mongoose
Connect our dockerised mongo to the app.
Finish mongoose models setup
Add routers for companies logic.
Prompts:
- create default CRUD express router with BASE_URL
- retrieve companies using ICompany interface and mongoose model
- create a get by id method
- create a POST route to create companies
Add routers to index file and run our app.
Prompts:
- rewrite it using import instead of require
Starting with main business logic events.
Propmts:
- import Company and Shareholders models interfaces and create 4 async functions capitalisationEvent, sharesReleaseEvent, sharesSplitEvent sharesPurchaseEvent
Continue with main business logic events
Explore how GitHub Copilot suggests code yet may miss business logic. Validate company and shareholder checks, then update shares across owned companies for the split factor and share purchase event.
Learn to extend the company's router with business logic actions, handling shares release, capitalization, and share split events, including payload schemas, IDs, and timestamps.
Fix a typo and validate the rest api by creating a test company, updating shares through events, and confirming capitalizations, splits, and retrievals via the front end app.
Explore explain this and documentation features in GitHub copilot to explain code line by line, read references, and generate function documentation with return types.
Setting up Frontend project and hook it up with Backend.
Prompts:
- create react functional component using react query and companies api
Write a chunk of unit tests for our routers
Prompts:
- rewrite this test using mocha chai
Write an integration test for our business logic
Welcome to my new course about Github Co-pilot for project development!
This course is targeting one main concept important for real life usage of Co-pilot - project development.
We will use a sample app and go through most stages of software project development with main focus on Development itself.
Main app would be covering up an area of equity management with 4 core methods to write:
Capitalisation of the company
Initial shares release of the company
Shares split of the company shares
Shares purchase by shareholders.
App would be simplified for this course to not overcomplicate the implementation as the main goal of this course is to teach how to use Co-pilot for software development, NOT build a fully-pledged equity management app.
NOTE: I am not an expert in equity management, just curious self-learner.
Main areas to cover are:
How to generate an idea for your next project (using basic ChatGPT 3.5)
How to create a Backend project for your idea
How to use Co-pilot to help boost your development productivity
How to use Co-pilot to fix issues and explain code chunks
How to write tests using Co-pilot.
How to create very simple Frontend app using Co-pilot to hook it up with Backend project
What this course is NOT targeting:
All potential use cases of Co-pilot
Every functionality Co-pilot has
Software development best practices
There are some optional lessons targeting basic ChatGPT usage for project idea generation and enhancement the features set of an existing project.