mywaydogs / MyWay-client

A website for dog trainers to keep track of their customers' progress

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MyWay

This repository is for the client-side of the project. You can find the server side at MyWay-server.

Introduction

MyWay (name was inspired by the author's dog - "Maui") is an open-source project which aims to serve as a Customer Management System (CMS) platform for dog trainers, helping them to keep track of their work with each customer, including abilities such as sending a summary of the last session directly to the customer, or plan the progress that needs to be made along the training sessions in a chart that is easy to use and read.

It is built using Next.js (based on React) and tailwindcss in the frontend, NestJS in the backend, and PostgreSQL as the database.

Contributing

This project needs you! If you're passionate about fullstack development, and would like to contribute some of your free time to make this project go live, feel free to contact me at zvikfir10@gmail.com. I will help you with setting up the environment and guide you towards your first PR in the project.

** You don't have to know any of the technologies or libraries to contribute. You can learn from example and learn along the way.

You can find detailed instructions on how to set up the environment yourself in the Getting Started section.

This project also needs graphic designers and/or UI/IX specialists who can consult about how to build the UI, and design it. If you're interested, feel free to make contact as well.

Current Status

Below you will find a photo of a dog's page describing details about it, and in it there's a chart that is meant to serve as a way for dog trainers to plan training goals.

This photo is not up to date, but I think it demonstrates the purpose of this project well.

Dog profile page

Below is another photo of the user's profile page.

User's profile page

Getting Started

Go to a folder in which you want to place the project.

Run the following:

mkdir MyWay
cd MyWay
git clone git@github.com:zvikfir/MyWay-client.git client
git clone git@github.com:zvikfir/MyWay-server.git server

To run the server:

cd server
npm install
npm run start:dev

To run the client:

cd client
npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

To set up the database, you need to install PostgreSQL, and make sure you have a database called myway, and that you have the correct credentials set up in server/ormconfig.json. TypeORM in development mode is configured to create the database tables for you.

Directory Layout

On the client, important directories are:

  • pages - Next.js automatically creates routes according to file names in this folder.
  • components - a directory with all the React components which are not pages.
  • services - contains the service layer of the application.
  • stores - contains the MobX stores of the application (Recommended reading to get you started).
  • styles - contains globals.css file which affects the global styles in the application. Other styles are inlined using tailwindcss.
  • libraries - includes common functions which are grouped into libraries.
  • dto - contains DTOs used in the application.

On the server, the guidelines documented in the NestJS documentation are kept.

License

This project is MIT licensed.

About

A website for dog trainers to keep track of their customers' progress

License:MIT License


Languages

Language:TypeScript 98.8%Language:JavaScript 0.8%Language:CSS 0.4%