Preparing for technical interviews for software engineering positions can be a daunting process. The most common approach is to practice problems at leetcode.com. However, with thousands of problems on the platform, it can get overwhelming for someone who has no idea where to start. Furthermore, even if you create your own plan for Leetcode problems, it quickly becomes cumbersome to track and manage your progress as you work through your plan. Lastly, it's important to take into account Ebbinghaus's Forgetting Curve in your interview preparation. However, doing this manually is tedious and takes a lot of manual overhead.
CodeNow aims to improve the interview preparation workflow by providing the user with a customized Leetcode preparation plan based on the user's strengths and weaknesses with common technical interview concepts. CodeNow allows the user to create daily learning goals and schedules Leetcode problems for them to complete every day, while taking into account Ebbinghaus's Forgetting Curve. Additionally, CodeNow allows the user to visually see their progress as they work through their plan.
First, you need to clone this repository and cd
into it
git clone https://github.com/CSC301H5/finalprojectw23-jason-s-juniors.git
cd finalprojectw23-jason-s-juniors
Below are the steps needed to set up the backend.
Before continuing, make sure you have pip
or pip3
installed
First, cd
into the backend
.
cd backend
Now, we will install pipenv
which is going to manage our python packages for us.
pip3 install pipenv
Next, let's create the virtual environment and install all of the dependencies.
pipenv shell
pipenv install
That should install everything for you. Let's verify that everything works by running our Django server.
python3 manage.py runserver
That's it!
Before continuing, make sure you have npm
installed.
Simply cd
into frontend
:
cd frontend
And run the following command:
npm install
That's it! You can verify that your client is working by running
npm start
Make sure that you activate your pipenv
if it is not activated. To do this, you can cd
into backend
and run the following command:
pipenv shell
Then, you can run the Django server using the following command:
python3 manage.py runserver
We are using sqlite for our database. To set up an sqlite database run the following command in the backend
folder.
python3 manage.py migrate
You should now see an SQLite database in your directory.
cd
into frontend
and run the following command:
npm start
We utilize the Gitflow workflow. We have two primary branches, dev
and main
.
The dev
branch contains our development code.
If you want to contribute to our project, you need to create your feature branch from the dev
branch.
Once you are done making changes, please submit a pull request.
Your pull request must be reviewed by at least two people to be merged into the dev
branch.
Please ensure that your branch name directly follows the name of the feature. For example, if you are working on adding a calendar into the app, your branch name would be calendar
.
The main
branch contains our official release.
Merges to this branch will be made through a pull request at the end of every sprint. The pull request must be thoroughly reviewed and requires the approval of at least 4 members of the team.
We will be using Trello to track our issues.