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.