Skip to content

My garage is built with React.js, Django, Postgresql, and AWS; S3, EC2

Notifications You must be signed in to change notification settings

jeffoo713/my-garage-django

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Garage

Contents

General Info

MyGarage is a web application built with React/Django/Postgresql/AWS-S3, deployed with AWS-EC2/Docker+Nginx.

With MyGarage, we can manage our vehicles easily. They can see all the information of our vehicles, such as previous services, measurements, a vehicle note, and an upcoming appointment.

Live Demo

** Sorry! my AWS free tire is over, so the instances are now stopped **

Features

Users can:

  • Register/Update a vehicle along with a picture
  • Add/Update a service with a note
  • Filter out services by year
  • Add/Update mesurements with next appointment
  • View a summary of registered vehicles

Screenshots

sample1 sample2 sample3 sample4 sample5 sample6

Tech Stack

Languages: JavaScript, Python

Frameworks: React.js, Django

Technologies: AWS, Redux-thunk, Django-rest-framework, Django-test, Tailwind

Database: Postgresql, AWS-S3

Deployment: Docker, AWS-EC2,

Testing: Django TestCase

How To Set Up

Client Setup

Install client dependencies

# in /client dir

$ cd client
$ npm install

Run react development server on http://localhost:3000

# still in /client dir

$ npm start

Server Setup

Create and activate virtual environment

# in root dir

$ python3 -m venv env # create virtual env
$ source env/bin/activate # activate virutal env

Install server dependencies

# in /server dir with venv activated

$ pip3 install -r requiremets.txt

Create .env and assign env variables

# in /server dir

$ cp .env.sample .env # copy contents of .env.sample into .env
$ nano .env # complete env variables or skip this if text editor is used.

Create a new Postgresql database

$ psql postgres # connect to postgres
$ CREATE DATABASE <YOUR_DATABASE_NAME>; # ensure to include semi-colon
$ \l # confirm the created database
$ \q # disconnect from postgres

Migrate database

# in /server dir

$ python3 manage.py makemigrations # create migration
$ python3 manage.py migrate # migrate database

Run django server on http://localhost:8000

# in /server dir

$ python3 manage.py runserver 0.0.0.0:8000

Create superuser (optional)

# in /server dir

$ python3 manage.py createsuperuser

Test models with django testcase (optional)

# in /server dir

$ python3 manage.py test

About

My garage is built with React.js, Django, Postgresql, and AWS; S3, EC2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published