Git Product home page Git Product logo

django-raceway's Introduction

Robrowno // Christian Brown

BSc Computer Science student at the University of West London

Welcome to my Github Page!

About Me:

Hi there, my name is Christian! Here's a little "About me" overview:

  • ๐Ÿ–ฅ๏ธ '26 BSc Computer Science Student at UWL
  • ๐Ÿ–ฅ๏ธ Attended an Academy in London working with Xander Talent as a Trainee Software Engineering Consultant
  • ๐Ÿ’ป Completed a Code Institute Diploma in Software Development between February 2022 - February 2023
  • ๐ŸŽฏ In my Second Year of Uni, Currently working with C#.NET and Python & frameworks
  • ๐ŸŽฏ My Current goals are to build my skills and find an internship in 2024/25

Top Langs

Christian's GitHub stats


Projects:

Project Name Description Tech/Tools Used
Project Lambda A static informative website about the Battle of Thermopylae in 480BCE HTML5, CSS3, Git
Rock-Paper-Scissors A simple turn-based javascript game based on the classic rock, paper, scissors HTML5, CSS3, Javascript, Git
Guess-The-Number A python game in the terminal where users to play a selection of guessing type games Python3.8, Git, Heroku
Hofflecopter (C.I Hackathon - 3rd Place!) An emoji-themed shooter where you play as the 'Hofflecopter' HTML5, CSS3, Javascript, JSON, Git
Rally Blog A full-stack blog-style website documenting my rally journey in 2022 and beyond HTML5, CSS3, Javascript & JQuery, Python3.8, Django3.2, Git, Heroku, Cloudinary, Summernote, SENDGRID API
Django-Raceway A fictional trackday website, where users can book trackdays, tuition or experience packages HTML5, CSS3, Javascript & JQuery, Python3.8, Django3.2, Git, Heroku, AWS S3, Stripe (Stripe API), SENDGRID API, Allauth
SummerTrails (C.I Hackathon - 3rd Place!) A Summer-themed, mobile-first and location/photography-focused application where users can upload photos and pin them to a shared map for other users to see HTML5, CSS3, Bootstrap 5.2, Javascript, Django 4.2, MapBox API, Django REST framework, PostgreSQL
ZenBot (C.I Hackathon - 3rd Place!) A mental health themed site with a mini chatbot on the main page, using the GPT3.5 Turbo model Git, HTML, CSS, JS (w/ AJAX), GPT3.5 Turbo, Vercel

Technology Well-Used:

Technology I have experienced:

Technology I want to learn more about:

Currently I am practising:

django-raceway's People

Contributors

robrowno avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

django-raceway's Issues

DJANGO-RACEWAY EPIC: Basket

As a Site User I would like to View a Basket so that I can check my orders before checking out.

Steps/Checkpoints:

  • Basket Template is created
  • When an item is added, it will appear in the basket dynamically (in conjunction with contexts.py file)
  • Items can be amended or deleted before moving on to checkout
  • A checkout link is clearly visible along with a link to continue browsing

DJANGO-RACEWAY EPIC: Testing

As a Software Developer I would like to Create Manual and Automated tests so that I can check the quality and functionality of my code.

Steps/Checkpoints:

  • Testing.md file to contain all information pertaining to automated and manual tests
  • Manual tests will be conducted in a table format
  • All validation for HTML, CSS, JS & Python will be completed in this file

DJANGO-RACEWAY USER STORY: Book an Experience

User Story:

As a Potential Customer I can view a separate experiences page so that I can order a slightly different product to a pure trackday (perhaps as a gift).

Acceptance Criteria:

  • Experiences Page has high quality landscape images that match the title of the experience package
  • There are "explore buttons" that can take the user to a page to see more info
  • Can be navigated to from the Nav bar
  • Can choose quantity from a quantity selector at the bottom of the page
  • Can add to basket through a single click button

DJANGO-RACEWAY USER STORY: About Page

User Story:

As a Site User I can open an about page so that I can learn more about the company and its history.

Acceptance Criteria:

  • About page can be viewed and visited from the Nav
  • Contains information and stats about the track itself

DJANGO-RACEWAY USER STORY: Book Tuition

User Story:

As a Potential Customer I can view a tuition page so that I can book a day to learn core driving skills.

Acceptance Criteria:

  • 3 key tuition packages - Bronze, Silver and Gold Tuition. Must be very clear which package is which and why silver costs more than bronze and why gold costs more than silver.
  • Operate in the same way as the experiences page, with "Explore more" buttons that take you to a new page with more details and specifics
  • Can be booked as standalone items just like the experiences packages
  • Can choose quantity from a quantity selector at the bottom of the page
  • Can add to basket through a single click button

DJANGO-RACEWAY EPIC: AWS

As a Developer I would like to create an AWS S3 bucket so that I can store my static files and media.

Steps/Checkpoints:

  • create an AWS S3 bucket, and configure all permissions (access, ACLs, Policies, CORS)
  • set up new User Group and User and attach to the bucket with the correct policies
  • add AWS variables to Heroku config vars and settings.py in my workspace

DJANGO-RACEWAY EPIC: Initial Deploy to Heroku

As a Developer I would like to deploy to heroku early so that I can confirm my configuration is wired up correctly.

Steps/Checkpoints:

  • Attach an ElephantSQL database and copy the database url
  • Create a Heroku app and paste the database url in the config vars
  • install psycopg2 and migrate the database
  • deploy to Heroku and pair to Django Project to AWS S3

DJANGO-RACEWAY USER STORY: Trackday Request Form

User Story:

As a Site User I can use a request form so that I can request a bespoke track day booking outside of the current available options.

Acceptance Criteria:

  • Page with form that allows users to send a request to the site owner with information regarding a bespoke track day
  • The request is stored on the database for the site owner to see
  • User can select different options based on their requirements for their track day request
  • The user is notified of a the form success, or failure, after they click the submit button.

DJANGO-RACEWAY USER STORY: Home Page

User Story:

As a Site User I can view a home page so that I can have a starting point from which I can navigate the site.

Acceptance Criteria:

  • Home Page features a Nav Bar, Main body with Hero image and Footer
  • Has a consistent theme and colour scheme
  • Most Pages can be navigated to directly from this one point
  • Theme of site and target audience easily identifiable from the home page alone

DJANGO-RACEWAY USER STORY: Testing

User Story:

As a Software I can write automated and manual tests so that I can check my code works reliably and as expected.

Acceptance Criteria:

  • Write some simple automated tests within tests.py
  • Create a table for manual testing in a TESTING.md file
  • Any issues are reported in the TESTING.md file
  • Validation checks for HTML, CSS, JS and Python are performed
  • Browser and device tests/checks are performed

DJANGO-RACEWAY USER STORY: Trackday List Page

User Story:

As a Site User I can visit a booking page so that I can view available/upcoming track days and proceed with a booking.

Acceptance Criteria:

  • Different track configurations clearly visible above list of upcoming track days
  • List displays key info such as date, layout, db limit, availability and price
  • Each list item will have a button which links to the specific booking page where customers can view and add packages and extras to their track day

DJANGO-RACEWAY EPIC: Install Django

As a Developer I would like to install Django so that I can begin working on my project.

Steps/Checkpoints:

  • Install Django and required packages to set up my workspace
  • Create any preliminary required files such as a requirement.txt file
  • Create the first app and a superuser
  • Take steps to link to Heroku for an early deployment and set up for AWS

DJANGO-RACEWAY EPIC: Stripe Checkout

As a Site User I would like to checkout so that I can purchase the items I came to buy.

Steps/Checkpoints:

  • Checkout template created
  • Ensure Stripe account is created and set up
  • Stripe installed, along with initial set up
  • Stripe handles payments based on a checkout id with a specific link to a specific order
  • An email verifying the purchase is sent to the buyer to confirm their order

DJANGO-RACEWAY USER STORY: Log in/ Log out

User Story:

As a Site User I can log in and log out so that I can keep my account and details secure.

Acceptance Criteria:

  • When Users are logged out, there will be an option in the primary nav for them to log in, where they will be redirected to the login page
  • When a user is active and already logged in, they will have an option to log out from the same place in the nav where they logged in
  • By logging in, users will have some more exclusive access and abilities, such as storing/saving billing details, account info and viewing order history.

DJANGO-RACEWAY USER STORY: Footer

User Story:

As a Site User I can view a footer bar so that I can view Policies, FAQs or subscribe to a motorsport newsletter.

Acceptance Criteria:

  • Footer contains links to the Policies and FAQs
  • Contains a place to sign up for a newsletter
  • Button to return to top of the page
  • Responsive and consistent theme with the Nav Bar

DJANGO-RACEWAY USER STORY: Create an Account

User Story:

As a Site User I can create an account so that I can access user-verified-only benefits and store personal information for future orders.

Acceptance Criteria:

  • When a site visitor is not signed in, a sign up/create account link in the nav can be found where they are redirected to a page to create an account
  • Upon account creation, they will be asked to verify through their email address that they will have had to provide.
  • No more info than is required will be asked for on sign up.

DJANGO-RACEWAY USER STORY: Booking Failed Page

User Story:

As a Site user I can view a Booking failure page so that I can so that I can be informed of the failure and that I will be shown that I have not been charged.

Acceptance Criteria:

  • Immediately redirected to this page after an error during checking out
  • Informs the customer of the payment/checkout failure and that the checkout has not proceeded (due to card info mistakes or server-side error)

DJANGO-RACEWAY USER STORY: Car Hire

User Story:

As a Site Visitor I can view a selection of cars so that I can choose a car I might want to hire at an upcoming trackday.

Acceptance Criteria:

  • Selection of cars with key stats on the database, such as power and torque
  • A dedicated page where site users can view the cars on offer including a presentable way to display info and stats to them
  • Car hire: specific car can be selected via form option on trackday booking page

DJANGO-RACEWAY USER STORY: Header/Nav Bar

User Story:

As a Site User I can use a Nav Bar so that I can Navigate to the desired page.

Acceptance Criteria:

  • A Responsive fixed-top header that contains a title, user icon and basket icon on desktop and a title and triple line menu icon on mobile/tablet
  • A Secondary Nav bar is displayed under the hero image on desktop, this is moved in to the collapsable triple line icon on mobile/tablet
  • Nav bar is clean and consistent with the theme and overall design scheme

DJANGO-RACEWAY USER STORY: Checkout

User Story:

As a Site User I can checkout so that I can proceed with my order/booking.

Acceptance Criteria:

  • Payments are handled by Stripe
  • You can checkout as a guest
  • A confirmation email is sent as well as clear indication on the site that your order went through successfully or not via on-screen messages

DJANGO-RACEWAY USER STORY: Booking Success Page

User Story:

As a Site User I can view a booking success page after purchasing so that I can confirm I have successfully ordered and view a summary of my purchase.

Acceptance Criteria:

  • Immediately redirected to this page after successfully checking out
  • Contains a positive message re-affirming the customer that their order and transaction has been completed
  • contains a receipt or summary of the order for the customer to review
  • contains a button to return to the home page to continue browsing

DJANGO-RACEWAY USER STORY: Book a Trackday

User Story:

As a Site User I can select the track day I want and visit a booking page so that I can book my track day with any extras I would like to add.

Acceptance Criteria:

  • Booking page follows directly after selecting from the track day list page
  • Optional extras are presented on the booking page with clear and up front pricing
  • When the user is satisfied with their selections, the user can add to cart and proceed to checkout
  • User can only book 1 trackday at a time

DJANGO-RACEWAY USER STORY: Newsletter Signup

User Story:

As a Site User I can sign up to a newsletter so that I can get informed about new products or business updates.

Acceptance Criteria:

  • MailChimp will be the provider used for the site
  • Sign up at the bottom of the page in the footer takes user to newsletter page
  • Only requires an email address to sign up

DJANGO-RACEWAY USER STORY: Gallery

User Story:

As a Site Visitor I can view a gallery of images so that I can get a visual understanding of what a track day looks like.

Acceptance Criteria:

  • Gallery contains images of cars on track, to give user an idea of a track day visually
  • Either a carousel or collection of neat images on the home page
  • High quality images should be chosen
  • Can be clicked on to expand and view, can be closed with an 'x' button

DJANGO-RACEWAY USER STORY: Contact

User Story:

As a Site User I can submit a contact form so that I can get in touch with the business regarding questions I have.

Acceptance Criteria:

  • Contact page can be located from the Navigation menu
  • Contact form is intuitive to navigate and use
  • User is notified with a success message that their message has been successfully sent when they submit there form
  • User is notified if they don't fill in all required forms or fill them in incorrectly

DJANGO-RACEWAY EPIC: Site Owner Objectives

As a Site Owner I would like to run an informative and engaging track day website so that I can encourage driving enthusiasts to book track days and hire cars as part of a successful B2C business model.

Steps/Checkpoints:

  • Site is friendly and catering towards Novice, Intermediate and Veteran Track day enthusiasts alike.
  • Viewers get a great idea of what a track day is all about
  • I demonstrate understanding of a successful business in the form of an e-commerce site where track days can be booked online.

DJANGO-RACEWAY USER STORY: Configure Django Project

User Story:

As a Developer I can install Django so that I can initiate my workspace.

Acceptance Criteria:

  • Install Django, create the project level directory and create a new superuser
  • Install Allauth and retrieve the base allauth templates to overwrite
  • Check Django is working with python3 manage.py runserver and make initial commit.

DJANGO-RACEWAY EPIC: Login/Logout

As a Site User I would like to Login and Logout so that I can keep my account secure.

Steps/Checkpoints:

  • Users can sign up, login, log out and recover passwords through dedicated allauth based templates/pages
  • Authentication pages can be found in the primary nav bar
  • Allauth templates have themes and design consistent with the overall project theme

DJANGO-RACEWAY USER STORY: User Profile

User Story:

As a Registered Site User I can save details in my account profile so that I can speed up buying/delivery processes in future.

Acceptance Criteria:

  • Registered User can access a profile page
  • The user can store billing information manually through updating/submitting a form.

DJANGO-RACEWAY USER STORY: Policies

User Story:

As a Site User I can find a policies so that I can understand the terms and conditions of the site.

Acceptance Criteria:

  • Link to page accessed from the Footer.
  • Page contains relevant information about buying and cancellation policies.

DJANGO-RACEWAY USER STORY: Order History

User Story:

As a Registered Site User I can check my order history so that I can review my past orders.

Acceptance Criteria:

  • Table available in the Order History page where authenticated users can see past orders
  • Stripe Receipts are included in the table

DJANGO-RACEWAY EPIC: Mailchimp Newsletter

As a Site User I would like to Sign up to a mailing list so that I can get new information from the business, including new products or promotions.

Steps/Checkpoints:

  • Create a Mailchimp account
  • Add the Mailchimp html to the project (base.html footer, in my case)
  • Users can sign up to the mailing list by providing their email address

DJANGO-RACEWAY USER STORY: FAQs

User Story:

As a Site User I can view an FAQs page so that I can see if there are any answers to questions I might have.

Acceptance Criteria:

  • Link to page accessed from the Footer.
  • Page will contain question and answer statements based on questions first time track day users may have.

DJANGO-RACEWAY USER STORY: Basket

User Story:

As a Site User I can add to and view a basket/cart so that I can view and check my order and make any updates or removals as required before checking out.

Acceptance Criteria:

-Booking Orders can viewed in a cart page, where they can be reviewed, modified, deleted entirely or purchased following a click on a checkout button

  • Items can be stored for later if they are not ready to purchase yet and want to browse further or come back later
  • A checkout button is very clearly visible to the site user
  • Site users can view the total cost of the order they are making before proceeding with a purchase

DJANGO-RACEWAY USER STORY: Management Page

User Story:

As a Site Admin I can add trackdays from a management page so that I can easily update the trackday list from the front end.

Acceptance Criteria:

  • Superuser/Admin only access
  • Trackdays can be added to the database from a form on the page

DJANGO-RACEWAY USER STORY: Cancel Checkout

User Story:

As a Site User I can cancel a checkout so that I can go back to my basket if I have changed my mind or am not ready to checkout yet.

Acceptance Criteria:

  • Users have the **option to cancel their checkout ** prior to payment
  • The session will remain for them to come back and checkout later

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.