code4romania / teacher-workout-backend

Teacher Workout backend (API for mobile apps & for the web client)
Mozilla Public License 2.0
8 stars 35 forks source link

Teacher Workout

GitHub contributors GitHub last commit License: MPL 2.0

Check out the Wiki!

Teacher Workout was prototyped in Civic Labs, the research and prototyping program in Code for Romania.

Teacher Workout is an application meant to deliver shot, interactive lessons. The themes of these lessons include identifying children who manifest a difficulty in learning, handling difficult classrooms situations, integrating children with particular needs in a classroom. These micro-courses are meant to help foster positive habits for teachers and professors alike.

The Teacher Workout ecosystem is composed of:

The Teacher Workout prototype and UI is available in the Figma project.

Contributing | Built with | Repos and projects | Deployment | Feedback | License | About Code4Ro

Contributing

This project is built by amazing volunteers and you can be one of them! Here's a list of ways in which you can contribute to this project. If you want to make any change to this repository, please make a fork first.

Help us out by testing this project in the staging environment. You can use a GraphQL client like Insomnia. If you see something that doesn't quite work the way you expect it to, open an Issue. Make sure to describe what you expect to happen and what is actually happening in detail.

If you would like to suggest new functionality, open an Issue and mark it as a [Feature request]. Please be specific about why you think this functionality will be of use. If you can, please include some visual description of what you would like the UI to look like, if you are suggesting new UI elements.

Built With

Programming languages

Platforms

Frontend framework

Package managers

Database technology & provider

API endpoints

Repos and projects

Set Up

Install Dependencies

Start DB server

cp .env.example .env
docker-compose up # and stop
docker start teacher_workout_db

TODO: decouple docker-compose in development from staging

Run migrations

dotnet ef database update --startup-project TeacherWorkout.Api/ --project TeacherWorkout.Data/

Start App

dotnet run -p TeacherWorkout.Api

FAQ

Add a migration

dotnet ef migrations add <MigrationNameGoesHere> --startup-project TeacherWorkout.Api/ --project TeacherWorkout.Data/

Run tests

ASPNETCORE_ENVIRONMENT=Test dotnet test

Apply migrations and seed data to your dev DB

Migrations will be applyed using the Migrator in all environments when running the application with docker.

If dummy data is needed for development purposes just set the SEEDDATA to true in the .env file when runngin locally using docker. This will populate the DB with some dummy data on the first run. Subsequent runs will not re-seed if the data is already present.

SEEDDATA=true

Alternatively, you can run the following commands to only run the Migrator in your local environment as needed.

cd TeacherWorkout.Migrator
dotnet run SeedData=false

Deployment

Guide users through getting your code up and running on their own system. In this section you can talk about:

  1. Installation process
  2. Software dependencies
  3. Latest releases
  4. API references

Describe and show how to build your code and run the tests.

Feedback

License

This project is licensed under the MPL 2.0 License - see the LICENSE file for details

About Code for Romania

Started in 2016, Code for Romania is a civic tech NGO, official member of the Code for All network. We have a community of around 2.000 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at contact@code4.ro.

Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread across 11 timezones, coding for social change to make Romania and the world a better place. If you want to support us, you can do it here.