Skip to content

A full-stack project for people who enjoy skateboarding to find perfect places and find friends to go skateboarding together! Frontend: ReactJS, Material-UI, Backend: Django(Python), DB:PostgreSQL

Notifications You must be signed in to change notification settings

spaceneurocruzz/Skateboard_Website

Repository files navigation

SkateboardGo

A full-stack project for people who enjoy skateboarding to find perfect places and find friends to go skateboarding together!


Highlights

Map

  • Visitors can
    • see the information about skateboarding places or stores on the map.
    • see comments and ratings of the places or stores.
  • Registered users can
    • share the information about skateboarding places or stores on the map.
    • leave comments and ratings of the places or stores.

Group

  • Visitors can
    • see skateboarding gathered groups.
  • Registered users can
    • create skateboarding gathered groups.
    • join any of the groups.
    • leave messages in the event.

Member System

  • Registered users can
    • save skateboarding groups they join and track
    • save location they like

Demo

Website link: http://100.20.247.196/

[Test User]
username: test
password: test123456

Table of Contents

Technologies

Front-end

  • Front-End Fundamental
    • HTML / CSS / JavaScript
    • RWD
  • Front-End Frameworks
    • React
    • React Hooks
    • React Context API
    • React Router
  • Third-Party API
    • RESTful API: Axios library
    • Map: Google Maps API, Geocoding API
  • Other
    • Material Design: Material UI
    • Module Bundler: Webpack
    • Compiler: Babel
    • WebStorage: localStorage
    • Unit Test: Jest

Back-end

  • Back-End Framework
    • Django
    • Django REST Framework with Simple JSON Web Token (JWT)
  • Database
    • PostgreSQL

Workflow

  • Version Control : Git / GitHub
  • SCRUM Sprint Planning: JIRA
  • Hosting: Amazon Web Services (AWS) EC2 with NGINX and RDS.

Code Structures

Front-end Design

Back-end Class Diagrams

User

Token

Guidemap

GuidemapComments

FriendsGroup

FriendsGroupComments

Database Schema

Page

Map

Users can add locations on the map and provide information such as opening times, phone numbers, traffics and details. They can also add comments and ratings for these places. There is also a star rating system displaying the ranking of the locations.

Group

Users can create and view the groups' activities, join and track the events they like. The information will be shown in profile page for records. The outdated events are shown in the history page by clicking the history groups button.

User Profile

It records the maps users like, groups they join and track in the future and the past. Users can also edit their own profile, including profile pictures, passwords, nicknames, current locations and self-introduction.

Member System

Users should register to become a member to experience all the functions provided by SkateboardGo. Passwords are hashed with SHA-256, providing a more secure member system.

Plan for next version

  • English version
  • Users introduction for the public
  • Enhance RWD experience for viewing tables
  • New function "Calendar" for skateboarding activities
  • New function "Discussion board" for people to discuss about technical skills or ask questions

Contact

Hsin-Ju Lin(Sandy Lin)
s1127925@gmail.com

About

A full-stack project for people who enjoy skateboarding to find perfect places and find friends to go skateboarding together! Frontend: ReactJS, Material-UI, Backend: Django(Python), DB:PostgreSQL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published