A capstone web application that inspires students to code. Students can learn algorithms and submit solutions. Integrated blog, auth, and comment features with CRUD using RESTful techniques. Incorporated C++ for solutions.
Name: Richard Shuai
Date Start: September 8th,
Date Completed: November 23rd
Project: Capstone Coding Project (Codinterest)
Note:
To run laravel, you will need to install XAMPP(recommended)/Apache+MySQL and package manager Composer
- All SQL files are stored in \App\SQL directory
- All controllers are stored in \App\Http\Controllers file
- All models are stored in \App\Models directory
- All views are stored in \Resources\views directory
- All external JS, CSS, HTML, images, articles, problems are stored in \Public directory
- All configurations are stored in \Config directory
- All middlewares are stored in \App\Http\Middlewares directory
The central component of the pattern. It is the application's dynamic data structure, independent of the user interface. It directly manages the data, logic and rules of the application.
Any representation of information such as a chart, diagram or table. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.
Accepts input and converts it to commands for the model or view.
The app
directory contains the core code of the application, such as Controllers and Models.
The bootstrap
directory contains the app.php
file which bootstraps the framework. This directory also houses a cache
directory which contains framework generated files for performance optimization such as the route and services cache files.
The config
directory, as the name implies, contains all of the application's configuration files.
The database
directory contains the database migrations, model factories, and seeds.
The public
directory contains the index.php
file, which is the entry point for all requests entering the application and configures autoloading. This directory also houses the assets such as images, JavaScript, and CSS.
The resources
directory contains your views as well as the raw, un-compiled assets such as LESS, SASS, or JavaScript. This directory also houses all of your language files.
The routes
directory contains all of the route definitions for the application. By default, several route files are included with Laravel: web.php
, api.php
, console.php
and channels.php
.
The web.php
file contains routes that the RouteServiceProvider
places in the web
middleware group, which provides session state, CSRF protection, and cookie encryption.
The storage
directory contains all compiled Blade templates, file based sessions, file caches, and other files generated by the framework. This directory is segregated into app
, framework
, and logs
directories.
The tests
directory contains the automated tests.
The vendor
directory contains all Composer dependencies.
MySQL
A pure PHP framework Laravel.
Blade View, HTML 5, CSS 3, JavaScript, Jquery (JS lib), Bootstrap (CSS lib), Layui (CSS lib), Markdown.
C++
Have a sense of where I am going to develop a module, how to set up the database, how to configure the model.
I'll first develop the front-end, this is my least favorite part of developing. I'm not much a design person, so it takes a lot of time to choose a font, color, background image and etc.
Then, I'll create a prototype database with the requirements, and then I'll set up the model.
Controllers are where I implement logics, and connect views and models. It is essential for a module.
Replace all static data to dynamic data from controller.
Then, I'll go back and forth between controllers and views, make sure it's functioning as expected. In the end, I'll integrate the module into the project.
Find a problem online(usually leetcode and cemc) or create my own problems that I think it encompasses some important ideas.
Write down problem description
Then, I'll figure a solution, and test it over and over again, making sure it's correct.
Yes, you're right, I have to type all testcases into my program and then run my program to get the answers. That is why a correct solution is essential
Then, I'll go to a markdown editor(Stackedit) and reformat it.
After some refurbishing, I will export the md to html file.
Making sure everything is working properly, then, I'll upload my problem to the database.