Finished my first django website!

Hey guys,

3 months ago I started learning Django through documentation and YouTube tutorials. After starting to work on a website 2 months ago, I finally finished it (with some polishing remaining).

The purpose of this website is to get people who have applied for different immigration applications to enter their dates/timelines. Some applications take up to 2 years, so people can compare their progress with others with similar timelines.

Please check it out and let me know what you guys think!

[https://immitrackerpro.com/ca](https://immitrackerpro.com/ca)

Edit:

Thanks everyone for your kind words and suggestions!

16 thoughts on “Finished my first django website!”

  1. Well done buddy I would highly suggest you to implement encryption asap because it increases the SEO score in all browsers therefore making it more visible, and it also has a login system so it may discourage some people to use it, btw add a page in which you explain what is the purpose of the website and how to use it !

    Reply
  2. Good job! It looks clean and has a consistent style. A lot of ‘seasoned django devs’ have a hard time with styling their web projects, so you have a good eye for this.

    A few things I would suggest immediately taking care of:

    – Add SSL. Since you are on Heroku this is as easy as enabling a few options. There will be no extra cost as it uses ‘letsencrypt’ which issues a free certificate for your domain. Heroku also renews it for you automatically.
    – Minimize your html and assets. Right now there is a lot of whitespace that is getting sent over to the browser and you have a lot of different assets loaded both from your server and a few different cdns. One way you can easily take care of this is by using the WhiteNoise Django plugin to handle your static assets, and using a middleware such as [StripWhitespaceMiddleware](https://code.djangoproject.com/wiki/StripWhitespaceMiddleware) to automatically remove superfluous whitespace.

    As for the assets, these are the different ones that are loaded for a single page.
    Ideally you should concatenate the ones you own into a single stylesheet (WhiteNoise can take care of this for you), and the external ones you should likely have WhiteNoise also copy over to your static folder location. If not you should at least have them coming from the same cdn provider. (WhiteNoise can also work with CDNs). This will tremendously help with SEO ratings for how long the page takes to load and how network payload size for the initial load.

    CSS:

    https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css
    https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css
    https://cdn.datatables.net/1.10.22/css/dataTables.bootstrap4.min.css
    – /static/css/style.css

    Javascript:

    https://code.jquery.com/jquery-3.5.1.slim.min.js
    https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js
    https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js
    – /static/js/chartjs-plugin-colorschemes.min.js
    – /static/js/scripts.js
    – /static/js/pgp_charts.js
    https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js
    https://cdn.datatables.net/1.10.22/js/dataTables.bootstrap4.min.js

    WhiteNoise can generate a ‘scripts.js’ and ‘style.css’ file that contains all the files you are serving.

    Reply
  3. I advise you to add simple captcha on the login page or registration page (not google recaptcha, it is a PITA). Maybe add django-otp or django-two-factor-auth too.

    Reply
  4. Cool bro! Great work! The loading speed of the website is optimized and I also liked the dashboard in the tracker section. But just a doubt, is the website functional, or is it just a demo?

    Reply
  5. quick question – why did you decide to make a website about immigration programmes to Canada? 🙂

    Please add express entry ASAP 😀 Will need it soon.

    Reply
  6. I feel like surfacing the username along with all of that data is maybe more than most people want public on a random website?

    It might be better to remove the username field from the public tables, and then just highlight the logged in users row to show them which one is their info/confirm that their info is live.

    Reply
  7. Great job Bud! Can you please provide some information regarding the graphs and the data table, which libraries did you use?

    I have started learning Django too and also working on a project, I liked the graphical representation, can you please enlighten me thank you 🙂

    Reply

Leave a Comment