Home - bradleypeterson/timetracker GitHub Wiki
Cat Tracks: Time Tracker
Table of Contents
| Chapter | Description |
|---|---|
| Project Vocabulary | Terminology and names to know for the project |
| Project Setup | Initial project setup and information |
| Database Schema | What does the database schema look like |
| Entity Framework | About the ORM for connecting to the database |
| Angular Frontend Update | Our update to angular version 9.x |
| Docker Documentation | What is docker and how to use it |
| Recommended Tools | Tools and IDE's that we recommend using for this project |
General Project Information
- This project is configured using .NET Core 3.1
- We use git as our version control system
- This project requires that your computer MUST support virtualization
- The ORM we are using is Entity Framework Core (the standard for .NET)
- The ORM is configured to use Code First Migrations for the database PostgreSQL
- If you need to switch which database you are using refer to the Microsoft docs on setting up entity framework core. You should just have to change the provider (avoid this if possible as it deletes migration history).
- Refer to the Microsoft Documentation on Migrating to update your database locally as needed
- New migration:
dotnet ef migrations add "MigrationName"- Generally it is a good practice to keep migrations small as it makes it easy to name them and deal with merge conflicts
- Update command:
dotnet ef database update [MigrationName]- If you need to go down a migration you will need to specify the version you would like to go to
- Before developing on any branch make sure your migrations are up-to-date with your new dev branch that typically means updating the migrations to be at the same level as master before switching branches, then updating the migrations after you have switched branches.
- As for dealing with merge conflicts in migrations, it is best to avoid them but if you must your just going to have to do a lot of research on EF Core
- New migration:
- The ORM is configured to use Code First Migrations for the database PostgreSQL
- The front end is currently written using AngularJS (deprecated in 2021)
- There is a work in progress branch
refactor/update-angularjs-to-angular8(there are also several other branches that may be branches for individual developers based on the mentioned branch) which is working on updating the entire project using angular 9 (9.x was released before the branch got merged) this branch contains the angular project for the front end. We have striven to follow general angular best practices outlined in the angular style guide
- There is a work in progress branch
- The project backend database is configured using docker and the
.envfile for providing environments variables- Docker-compose is configured using the
docker-compose.ymlfile. The following commands must be ran in the same directory as thedocker-compose.ymlfile (typically the root of the project):- To build the backend run
docker-compose build - To run the backend run
docker-compose up - To build and run the backend run
docker-compose up --build - To disable the container run
docker-compose down - To destroy the backend and clear data run
docker-compose down -v
- To build the backend run
- For more advanced docker configuration see the docker/docker-compose docs
- Docker-compose is configured using the