Skip to content

Dijkstra's web platform - An all in one application to take care of everything you need in your preparation for college placements

License

Notifications You must be signed in to change notification settings

Dijkstra-Edu/Dijkstra-Web

Repository files navigation

For Students, By Students

Dijkstra - One Stop Solution for Every Aspiring CS Student

Dijkstra.org β€’ Forum β€’ Docs β€’ Contributing β€’ LinkedIn β€’ Discord

GitHub Repo stars GitHub forks npm version node version Website GitHub last commit (branch) GitHub contributors license GitHub issues GitHub pull requests GitHub repo size GitHub language count GitHub top language GitHub commit activity


πŸš€ About Dijkstra

Dijkstra is a community-driven, open-source platform aimed at bridging the skill and opportunity gap for students from Tier-2 and Tier-3 colleges in India. We empower Computer Science enthusiasts to become industry-ready through:

  • πŸŽ“ A student-led open-source community fostering mentorship, learning, and growth.
  • πŸ“š Curated paths for mastering CS fundamentals, development skills, and soft skills.
  • πŸ’» Real-world project experience via collaborative app and platform development.

Whether you're interested in learning, contributing, or just exploring, Dijkstra is the platform for you.

"Run by students, for students."


✨ Features

  • πŸ“Š Visibility
    Track your progress across all platforms β€” GitHub, LinkedIn, LeetCode, Codeforces, etc. See yourself level up in terms of skills, validated by Proof of Work, to prepare for jobs around the world.

  • πŸ› οΈ Develop Skills
    Improve your DSA, Software Engineering, and Systems Design holistically through a variety of tasks within Dijkstra. Whether it’s code contributions, writing articles, sharing new approaches, or leading projects β€” it’s all about developing into a globally competitive software developer.

  • βœ… Proof of Work
    Dijkstra is your platform to track overall developer growth, tied to visible outputs (GitHub commits, LeetCode stats, LinkedIn activity). The goal is to gamify your growth and help you plan your journey effectively.

  • 🎯 Killing Two Birds with One Stone
    Projects aren’t just for GitHub. A good project could become a conference paper. A solid LinkedIn post could be added to your resume. Dijkstra helps connect the dots to maximize your output with smarter planning.

  • 🌍 Community
    Give back by writing articles, contributing code, and helping others β€” in turn, boosting your credibility and visibility in the tech ecosystem.

  • πŸ” One Thing Leads to Another
    Every action you take β€” internships, articles, papers β€” creates leverage for future opportunities. Dijkstra helps make sure your efforts lead somewhere bigger and better.


🏁 Getting Started

🚧 This section is focused on Onboarding and is currently a work in progress.
For now, use the links below to get started:

More detailed onboarding guides, examples, and templates will be added soon. Stay tuned!

Development Setup

Prerequisites

  • Node.js (v18.14.2 or higher)
  • npm, yarn, or pnpm
  • GitHub account (for OAuth authentication)

Quick Start

1. Clone the Repository

git clone https://github.com/Dijkstra-Edu/Dijkstra-Web.git
cd Dijkstra-Web

2. Install Dependencies

# using npm
npm install

# or using yarn
yarn install

# or using pnpm
pnpm install

# or using bun
bun install

Then run:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

3. Environment Configuration (Under Review)

⚠️ This section is currently being revised and may change.
Please refer to the upcoming GitHub issue for finalized .env and OAuth setup instructions.

You can still create a .env.local file for local testing, but values like NEXTAUTH_SECRET, GITHUB_CLIENT_ID, and others are under review.

4. GitHub OAuth Setup (On Hold)

⚠️ GitHub OAuth environment configuration is currently under review and may change.
Full setup steps will be provided once finalized.

In the meantime, you may explore the project using mock data or without authentication if supported.

5. Restart the Development Server

Stop the server (if running):

Ctrl + C

Then restart:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Now open http://localhost:3000 in your browser to view the Dijkstra Web Client.


πŸ“Œ TaskList (Things to do)

πŸ› οΈ This section is still being built. For now, tasks are organized into three fixed phases only.

There's a LOT to be done. Feel free to pick up a task from this list, or try tackling issues from the Issues section. You're welcome to suggest any features, fixes, or improvements β€” your ideas shape Dijkstra and its potential to impact thousands of students around the world!

Phase 1: Kickoff & Core Features

Phase 2: Open Source Launch & Admin Dashboard

Phase 3: Advanced Features & Community

Contributing Guidelines

We welcome contributions from everyone, whether you're a first-time contributor or an experienced developer! Follow these steps to contribute effectively:

🧠 Before You Start

  • Check the tasklist and Issues to pick something you'd like to work on.
  • Join our Discord to connect with the team and ask questions.
  • Read this guide carefully to ensure smooth collaboration.

πŸ› οΈ Local Development Setup

Refer to the Development Setup section above for detailed instructions.

Make sure you’re using:

  • Node.js β‰₯ v18.0.0
  • npm β‰₯ v9.0.0

πŸ—ƒοΈ Working on a Feature or Bug

  1. Fork the repository.
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/Dijkstra-Web.git
    cd Dijkstra-Web
  3. Create a new branch for your feature/fix:
    git checkout -b feat/your-feature-name
  4. Make your changes locally.
  5. Test everything before committing:
    • Lint your code.
    • Ensure your feature works as expected.
  6. Commit with a meaningful message:
    git commit -m "feat: added feature XYZ"
  7. Push your branch to your fork:
    git push origin feat/your-feature-name
  8. Open a Pull Request (PR) to the main branch of the upstream repo.

πŸ’‘ Tips for a Great Contribution

  • Keep your PRs small and focused.
  • Link the related issue in your PR description.
  • Add screenshots or demos where applicable.
  • Document new features and update relevant sections.
  • Use Conventional Commits format for commit messages.

🌐 Community

We’re more than just code β€” we’re a learning community!

  • πŸ’¬ Join the conversation on Discord. Ask questions, get help, or just say hi!
  • πŸ§‘β€πŸ’» Pair program with others to learn and grow together.
  • πŸͺ„ Contribute to discussions on issues, feature requests, and roadmaps.
  • πŸ“£ Share your work β€” show off what you’ve built with Dijkstra-Web!

Whether you're a beginner or a pro, there's a place for you here πŸ’™


πŸ‘₯ Contributors

This project exists thanks to all the people who contribute.


Acknowledgements

We would like to thank all contributors and community members who helped make this project possible.


©️ Copyright and License

Β© 2025 Dijkstra-Edu. All rights reserved.

This project is licensed under the MIT License.
You are free to use, modify, and distribute this software under the conditions of the license.

About

Dijkstra's web platform - An all in one application to take care of everything you need in your preparation for college placements

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages