Skip to content

Latest commit

 

History

History
118 lines (89 loc) · 5.31 KB

README.md

File metadata and controls

118 lines (89 loc) · 5.31 KB

Harvard CS50W Course Projects

Here you will find all my submissions of Harvard CS50's Web Programming with Python and JavaScript 2020 course projects.

This repository also suits as a template for other students interested on an organized beginning for their projects repo structure.

Table of Contents

See all

Getting started

First of all, create a new repository from this template,
name it accordingly and place where it best fits for you.
Remember to check in all desired branches before confirm!

Development environment

Make sure you have Git installed, as wel as Python will also be needed:

$ git --version
git version 2.25.1
$ python3 --version
Python 3.10.6

Thus, clone the recent-created repository locally, and you'll be ready to start developing your projects.

Continuos automation

Project submission is automated through a submit-on-push GitHub Action. It takes in account the branch name to forward the released code to Harvard's me50/{GITHUB-USERNAME} repository, as required.

For it to work you first need to Authorize cs50, as specified on How to Submit section of project's statements. Then, register a PERSONAL_ACCESS_TOKEN secret to your repo, as described here. And you'll be setup!

After that, every push to a branch which name starts with web50/projects/2020/x/ will be submitted accordingly.

Project specifications

Harvard CS50W is divided into 9 lectures, summing up 6 projects.

Each project has an associated initial distribution code, available for download along with its description, which are already placed in each equivalent branch of this repo. Check them out:

# Project statement Branch
0 Search 0-search
1 Wiki 1-wiki
2 Commerce 2-commerce
3 Mail 3-mail
4 Network 4-network
Final Capstone final-capstone

Folder structure

For this main template branch, beside the most essential files of an open-source repository, there's also a project submission automation configured.

.
├── .git/                       Version control system folder
├── .github/                    Repo continuous automation 
├── .gitignore                  VCS ignored files manifest
├── CHANGELOG.md                Release notes description
├── LICENSE                     License file
└── README.md                   Repo readme document

Maintenance

This project is maintained by the author, @artu-hnrq.
Though, minimal or no implementation has been done yet, it's only intended to be a limited example, demo, or proof-of-concept.

License

This project is published under the permissions established by GNU General Public License v3.0.